diff --git a/README.md b/README.md index a7cafe547..13e579947 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,36 @@ When developing in python the following should be taken into account: python -m unittest discover --verbose --catch --start-directory tests/py/esse/ ``` +3. **Resolving Merge Conflicts in Auto-generated Python Models**: The Python model files in `src/py/mat3ra/esse/models/` are auto-generated from JSON schemas using `datamodel-codegen`. If merge conflicts occur in these files, they should be resolved by regenerating the models rather than manually editing them. To resolve conflicts: + + ```bash + # Ensure you have the latest schemas built + npm run transpile-and-build-assets + + # Regenerate Python models (requires datamodel-code-generator) + datamodel-codegen \ + --input ./dist/js/schema/ \ + --input-file-type jsonschema \ + --output ./dist/py \ + --output-model-type pydantic_v2.BaseModel \ + --use-field-description \ + --use-double-quotes \ + --enable-version-header \ + --use-title-as-name \ + --class-name ESSE \ + --disable-timestamp \ + --use-default + + # Sync regenerated files to src directory + rsync -av --delete dist/py/ src/py/mat3ra/esse/models/ + ``` + + Alternatively, you can use the pre-commit hook which will regenerate models automatically when schema files change: + + ```bash + pre-commit run generate-python-modules --all-files + ``` + ### 5.2. Development in Javascript/Typescript See [package.json](package.json) for the list of available npm commands. The JS modules are generated using the [build_schema.js](./build_schema.js) script. There is a setup for it to be run automatically when the package is installed (see "transpile" directive). To rebuild schemas manually, run: diff --git a/dist/js/example/job.json b/dist/js/example/job.json index 443f1b8f8..8ecb69ded 100644 --- a/dist/js/example/job.json +++ b/dist/js/example/job.json @@ -81,6 +81,7 @@ "shortName": "qe", "summary": "Quantum Espresso", "version": "5.1.1", + "build": "GNU", "hasAdvancedComputeOptions": true }, "model": { @@ -105,6 +106,7 @@ "shortName": "qe", "summary": "Quantum Espresso", "version": "5.1.1", + "build": "GNU", "hasAdvancedComputeOptions": true }, "compute": null, @@ -135,7 +137,11 @@ "templateId": "dJ7HYz5pQ4AuN5qc9" } ], - "name": "pw_scf" + "name": "pw_scf", + "postProcessors": [], + "preProcessors": [], + "monitors": [], + "results": [] }, "flowchartId": "execution", "head": true, @@ -176,7 +182,11 @@ "_id": "LCthJ6E2QabYCZqf4", "flowchartId": "05c362dc27ff1bb98d16fd60", "type": "subworkflow", - "name": "subworkflow unit" + "name": "subworkflow unit", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } ] } diff --git a/dist/js/example/software/application.json b/dist/js/example/software/application.json index 067dd5610..edaf50266 100644 --- a/dist/js/example/software/application.json +++ b/dist/js/example/software/application.json @@ -3,5 +3,6 @@ "shortName": "qe", "summary": "Quantum Espresso", "version": "5.1.1", + "build": "GNU", "hasAdvancedComputeOptions": true } \ No newline at end of file diff --git a/dist/js/example/software/flavor.json b/dist/js/example/software/flavor.json index 1798f9caf..f61853ed6 100644 --- a/dist/js/example/software/flavor.json +++ b/dist/js/example/software/flavor.json @@ -5,5 +5,9 @@ "templateId": "dJ7HYz5pQ4AuN5qc9" } ], - "name": "pw_scf" + "name": "pw_scf", + "postProcessors": [], + "preProcessors": [], + "monitors": [], + "results": [] } \ No newline at end of file diff --git a/dist/js/example/software_directory/modeling/espresso.json b/dist/js/example/software_directory/modeling/espresso.json index dc55ff4d4..fa7db08bd 100644 --- a/dist/js/example/software_directory/modeling/espresso.json +++ b/dist/js/example/software_directory/modeling/espresso.json @@ -2,5 +2,6 @@ "name": "espresso", "shortName": "qe", "summary": "Quantum Espresso", - "version": "7.2" + "version": "7.2", + "build": "GNU" } \ No newline at end of file diff --git a/dist/js/example/software_directory/modeling/nwchem.json b/dist/js/example/software_directory/modeling/nwchem.json index 0d3cae909..a6ee6ddcf 100644 --- a/dist/js/example/software_directory/modeling/nwchem.json +++ b/dist/js/example/software_directory/modeling/nwchem.json @@ -1,6 +1,8 @@ { "name": "NWChem", "summary": "NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations", + "shortName": "nwchem", "version": "6.6", - "exec": "nwchem" + "exec": "nwchem", + "build": "GNU" } \ No newline at end of file diff --git a/dist/js/example/software_directory/modeling/unit/execution.json b/dist/js/example/software_directory/modeling/unit/execution.json index a26ec3025..c56f35135 100644 --- a/dist/js/example/software_directory/modeling/unit/execution.json +++ b/dist/js/example/software_directory/modeling/unit/execution.json @@ -3,7 +3,8 @@ "name": "espresso", "shortName": "qe", "summary": "Quantum Espresso", - "version": "7.2" + "version": "7.2", + "build": "GNU" }, "flowchartId": "modeling", "head": true, @@ -26,5 +27,9 @@ ], "name": "modeling", "status": "idle", - "type": "execution" + "type": "execution", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } \ No newline at end of file diff --git a/dist/js/example/software_directory/modeling/vasp.json b/dist/js/example/software_directory/modeling/vasp.json index e930c1e91..49101ae36 100644 --- a/dist/js/example/software_directory/modeling/vasp.json +++ b/dist/js/example/software_directory/modeling/vasp.json @@ -2,5 +2,6 @@ "name": "vasp", "shortName": "vasp", "summary": "vienna ab-initio simulation package", - "version": "5.3.5" + "version": "5.3.5", + "build": "GNU" } \ No newline at end of file diff --git a/dist/js/example/software_directory/scripting/jupyter_lab.json b/dist/js/example/software_directory/scripting/jupyter_lab.json index 835748ef4..f9625e17a 100644 --- a/dist/js/example/software_directory/scripting/jupyter_lab.json +++ b/dist/js/example/software_directory/scripting/jupyter_lab.json @@ -4,5 +4,6 @@ "name": "jupyterLab", "shortName": "jl", "summary": "Jupyter Lab", - "version": "0.33.12" + "version": "0.33.12", + "build": "GNU" } \ No newline at end of file diff --git a/dist/js/example/software_directory/scripting/python.json b/dist/js/example/software_directory/scripting/python.json index 69d7be4c7..8f2fcbc54 100644 --- a/dist/js/example/software_directory/scripting/python.json +++ b/dist/js/example/software_directory/scripting/python.json @@ -4,5 +4,6 @@ "name": "python", "shortName": "py", "summary": "Python Script", - "version": "2.7.5" + "version": "2.7.5", + "build": "GNU" } \ No newline at end of file diff --git a/dist/js/example/software_directory/scripting/shell.json b/dist/js/example/software_directory/scripting/shell.json index 09afef18f..6ba4f2d5f 100644 --- a/dist/js/example/software_directory/scripting/shell.json +++ b/dist/js/example/software_directory/scripting/shell.json @@ -4,5 +4,6 @@ "name": "shell", "shortName": "sh", "summary": "Shell Script", - "version": "4.2.46" + "version": "4.2.46", + "build": "GNU" } \ No newline at end of file diff --git a/dist/js/example/software_directory/scripting/unit/execution.json b/dist/js/example/software_directory/scripting/unit/execution.json index 3082d8255..2ef819f27 100644 --- a/dist/js/example/software_directory/scripting/unit/execution.json +++ b/dist/js/example/software_directory/scripting/unit/execution.json @@ -5,7 +5,8 @@ "name": "python", "shortName": "py", "summary": "Python Script", - "version": "2.7.5" + "version": "2.7.5", + "build": "GNU" }, "compute": null, "flowchartId": "scripting", @@ -29,5 +30,9 @@ ], "name": "scripting", "status": "idle", - "type": "execution" + "type": "execution", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } \ No newline at end of file diff --git a/dist/js/example/workflow/unit/runtime/runtime_items.json b/dist/js/example/system/runtime_items.json similarity index 100% rename from dist/js/example/workflow/unit/runtime/runtime_items.json rename to dist/js/example/system/runtime_items.json index 140829add..e4979ba6a 100644 --- a/dist/js/example/workflow/unit/runtime/runtime_items.json +++ b/dist/js/example/system/runtime_items.json @@ -1,11 +1,11 @@ { + "preProcessors": [], + "postProcessors": [], "monitors": [ { "name": "standard_output" } ], - "postProcessors": [], - "preProcessors": [], "results": [ { "name": "atomic_forces" diff --git a/dist/js/example/workflow.json b/dist/js/example/workflow.json index 11964af8b..48880ea83 100644 --- a/dist/js/example/workflow.json +++ b/dist/js/example/workflow.json @@ -28,6 +28,7 @@ "shortName": "qe", "summary": "Quantum Espresso", "version": "5.1.1", + "build": "GNU", "hasAdvancedComputeOptions": true }, "model": { @@ -52,6 +53,7 @@ "shortName": "qe", "summary": "Quantum Espresso", "version": "5.1.1", + "build": "GNU", "hasAdvancedComputeOptions": true }, "compute": null, @@ -82,7 +84,11 @@ "templateId": "dJ7HYz5pQ4AuN5qc9" } ], - "name": "pw_scf" + "name": "pw_scf", + "postProcessors": [], + "preProcessors": [], + "monitors": [], + "results": [] }, "flowchartId": "execution", "head": true, @@ -123,7 +129,11 @@ "_id": "LCthJ6E2QabYCZqf4", "flowchartId": "05c362dc27ff1bb98d16fd60", "type": "subworkflow", - "name": "subworkflow unit" + "name": "subworkflow unit", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } ] } \ No newline at end of file diff --git a/dist/js/example/workflow/subworkflow.json b/dist/js/example/workflow/subworkflow.json index c10f4827e..699069d7b 100644 --- a/dist/js/example/workflow/subworkflow.json +++ b/dist/js/example/workflow/subworkflow.json @@ -5,6 +5,7 @@ "shortName": "qe", "summary": "Quantum Espresso", "version": "5.1.1", + "build": "GNU", "hasAdvancedComputeOptions": true }, "model": { @@ -29,6 +30,7 @@ "shortName": "qe", "summary": "Quantum Espresso", "version": "5.1.1", + "build": "GNU", "hasAdvancedComputeOptions": true }, "compute": null, @@ -59,7 +61,11 @@ "templateId": "dJ7HYz5pQ4AuN5qc9" } ], - "name": "pw_scf" + "name": "pw_scf", + "postProcessors": [], + "preProcessors": [], + "monitors": [], + "results": [] }, "flowchartId": "execution", "head": true, diff --git a/dist/js/example/workflow/unit/assignment.json b/dist/js/example/workflow/unit/assignment.json index f42d4229e..1b6f9384e 100644 --- a/dist/js/example/workflow/unit/assignment.json +++ b/dist/js/example/workflow/unit/assignment.json @@ -15,5 +15,9 @@ "operand": "N_K_x", "status": "idle", "type": "assignment", - "value": "N_K_x+N_K_y+1" + "value": "N_K_x+N_K_y+1", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } \ No newline at end of file diff --git a/dist/js/example/workflow/unit/condition.json b/dist/js/example/workflow/unit/condition.json index 84d3d782a..dabcd88ef 100644 --- a/dist/js/example/workflow/unit/condition.json +++ b/dist/js/example/workflow/unit/condition.json @@ -18,5 +18,9 @@ "status": "idle", "then": "sample_id_4", "throwException": true, - "type": "condition" + "type": "condition", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } \ No newline at end of file diff --git a/dist/js/example/workflow/unit/execution.json b/dist/js/example/workflow/unit/execution.json index b481cd2fd..239a77e99 100644 --- a/dist/js/example/workflow/unit/execution.json +++ b/dist/js/example/workflow/unit/execution.json @@ -4,6 +4,7 @@ "shortName": "qe", "summary": "Quantum Espresso", "version": "5.1.1", + "build": "GNU", "hasAdvancedComputeOptions": true }, "compute": null, @@ -34,7 +35,11 @@ "templateId": "dJ7HYz5pQ4AuN5qc9" } ], - "name": "pw_scf" + "name": "pw_scf", + "postProcessors": [], + "preProcessors": [], + "monitors": [], + "results": [] }, "flowchartId": "execution", "head": true, diff --git a/dist/js/example/workflow/unit/io.json b/dist/js/example/workflow/unit/io.json index 955c73ded..3e2b2f96e 100644 --- a/dist/js/example/workflow/unit/io.json +++ b/dist/js/example/workflow/unit/io.json @@ -37,5 +37,9 @@ "source": "api", "status": "idle", "subtype": "input", - "type": "io" + "type": "io", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } \ No newline at end of file diff --git a/dist/js/example/workflow/unit/map.json b/dist/js/example/workflow/unit/map.json index 13424664c..80af8a117 100644 --- a/dist/js/example/workflow/unit/map.json +++ b/dist/js/example/workflow/unit/map.json @@ -12,5 +12,9 @@ "name": "map", "status": "idle", "type": "map", - "workflowId": "zxjhEiaQvwWwvB3oM" + "workflowId": "zxjhEiaQvwWwvB3oM", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } \ No newline at end of file diff --git a/dist/js/example/workflow/unit/processing.json b/dist/js/example/workflow/unit/processing.json index 2009e6738..b7b1a2bb0 100644 --- a/dist/js/example/workflow/unit/processing.json +++ b/dist/js/example/workflow/unit/processing.json @@ -9,5 +9,9 @@ "operation": "data_transformation", "operationType": "manipulation", "status": "idle", - "type": "processing" + "type": "processing", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } \ No newline at end of file diff --git a/dist/js/example/workflow/unit/reduce.json b/dist/js/example/workflow/unit/reduce.json index 414a670f3..d61b80964 100644 --- a/dist/js/example/workflow/unit/reduce.json +++ b/dist/js/example/workflow/unit/reduce.json @@ -12,5 +12,9 @@ "mapFlowchartId": "1", "name": "reduce", "status": "idle", - "type": "reduce" + "type": "reduce", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } \ No newline at end of file diff --git a/dist/js/schema/context_providers_directory/boundary_conditions_data_provider.json b/dist/js/schema/context_providers_directory/boundary_conditions_provider.json similarity index 91% rename from dist/js/schema/context_providers_directory/boundary_conditions_data_provider.json rename to dist/js/schema/context_providers_directory/boundary_conditions_provider.json index 319f013cc..ac521b1e2 100644 --- a/dist/js/schema/context_providers_directory/boundary_conditions_data_provider.json +++ b/dist/js/schema/context_providers_directory/boundary_conditions_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/boundary-conditions-data-provider", + "$id": "context-providers-directory/boundary-conditions-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Boundary Conditions Provider Schema", "type": "object", diff --git a/dist/js/schema/context_providers_directory/collinear_magnetization_context_provider.json b/dist/js/schema/context_providers_directory/collinear_magnetization_provider.json similarity index 98% rename from dist/js/schema/context_providers_directory/collinear_magnetization_context_provider.json rename to dist/js/schema/context_providers_directory/collinear_magnetization_provider.json index 5a324b1a6..a1b73890a 100644 --- a/dist/js/schema/context_providers_directory/collinear_magnetization_context_provider.json +++ b/dist/js/schema/context_providers_directory/collinear_magnetization_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/collinear-magnetization-context-provider", + "$id": "context-providers-directory/collinear-magnetization-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Collinear Magnetization Provider Schema", "description": "Set starting magnetization, can have values in the range [-1, +1].", diff --git a/dist/js/schema/context_providers_directory/hubbard_j_context_provider.json b/dist/js/schema/context_providers_directory/hubbard_j_provider.json similarity index 92% rename from dist/js/schema/context_providers_directory/hubbard_j_context_provider.json rename to dist/js/schema/context_providers_directory/hubbard_j_provider.json index 17d291a6d..af655b01c 100644 --- a/dist/js/schema/context_providers_directory/hubbard_j_context_provider.json +++ b/dist/js/schema/context_providers_directory/hubbard_j_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/hubbard-j-context-provider", + "$id": "context-providers-directory/hubbard-j-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Hubbard J Provider Schema", "description": "Hubbard parameters for DFT+U+J calculation.", diff --git a/dist/js/schema/context_providers_directory/hubbard_legacy_context_provider.json b/dist/js/schema/context_providers_directory/hubbard_legacy_provider.json similarity index 90% rename from dist/js/schema/context_providers_directory/hubbard_legacy_context_provider.json rename to dist/js/schema/context_providers_directory/hubbard_legacy_provider.json index 9b4cac919..a3acbfb61 100644 --- a/dist/js/schema/context_providers_directory/hubbard_legacy_context_provider.json +++ b/dist/js/schema/context_providers_directory/hubbard_legacy_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/hubbard-legacy-context-provider", + "$id": "context-providers-directory/hubbard-legacy-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Hubbard Legacy Provider Schema", "description": "Hubbard parameters for DFT+U calculation.", diff --git a/dist/js/schema/context_providers_directory/hubbard_u_context_provider.json b/dist/js/schema/context_providers_directory/hubbard_u_provider.json similarity index 90% rename from dist/js/schema/context_providers_directory/hubbard_u_context_provider.json rename to dist/js/schema/context_providers_directory/hubbard_u_provider.json index ac30b4ea1..4190ae833 100644 --- a/dist/js/schema/context_providers_directory/hubbard_u_context_provider.json +++ b/dist/js/schema/context_providers_directory/hubbard_u_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/hubbard-u-context-provider", + "$id": "context-providers-directory/hubbard-u-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Hubbard U Provider Schema", "description": "Hubbard U parameters for DFT+U or DFT+U+V calculation.", diff --git a/dist/js/schema/context_providers_directory/hubbard_v_context_provider.json b/dist/js/schema/context_providers_directory/hubbard_v_provider.json similarity index 94% rename from dist/js/schema/context_providers_directory/hubbard_v_context_provider.json rename to dist/js/schema/context_providers_directory/hubbard_v_provider.json index 1fafc9266..8cf1869b9 100644 --- a/dist/js/schema/context_providers_directory/hubbard_v_context_provider.json +++ b/dist/js/schema/context_providers_directory/hubbard_v_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/hubbard-v-context-provider", + "$id": "context-providers-directory/hubbard-v-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Hubbard V Provider Schema", "description": "Hubbard V parameters for DFT+U+V calculation.", diff --git a/dist/js/schema/context_providers_directory/ion_dynamics_context_provider.json b/dist/js/schema/context_providers_directory/ion_dynamics_provider.json similarity index 90% rename from dist/js/schema/context_providers_directory/ion_dynamics_context_provider.json rename to dist/js/schema/context_providers_directory/ion_dynamics_provider.json index cbab89551..3d3061c62 100644 --- a/dist/js/schema/context_providers_directory/ion_dynamics_context_provider.json +++ b/dist/js/schema/context_providers_directory/ion_dynamics_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/ion-dynamics-context-provider", + "$id": "context-providers-directory/ion-dynamics-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Ion Dynamics Provider Schema", "description": "Important parameters for molecular dynamics calculation", diff --git a/dist/js/schema/context_providers_directory/ml_settings_context_provider.json b/dist/js/schema/context_providers_directory/ml_settings_provider.json similarity index 87% rename from dist/js/schema/context_providers_directory/ml_settings_context_provider.json rename to dist/js/schema/context_providers_directory/ml_settings_provider.json index 289155312..3a91b83f3 100644 --- a/dist/js/schema/context_providers_directory/ml_settings_context_provider.json +++ b/dist/js/schema/context_providers_directory/ml_settings_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/ml-settings-context-provider", + "$id": "context-providers-directory/ml-settings-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "ML Settings Provider Schema", "description": "Settings important to machine learning runs.", diff --git a/dist/js/schema/context_providers_directory/ml_train_test_split_context_provider.json b/dist/js/schema/context_providers_directory/ml_train_test_split_provider.json similarity index 83% rename from dist/js/schema/context_providers_directory/ml_train_test_split_context_provider.json rename to dist/js/schema/context_providers_directory/ml_train_test_split_provider.json index bf43a5e02..564be640f 100644 --- a/dist/js/schema/context_providers_directory/ml_train_test_split_context_provider.json +++ b/dist/js/schema/context_providers_directory/ml_train_test_split_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/ml-train-test-split-context-provider", + "$id": "context-providers-directory/ml-train-test-split-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "ML Train Test Split Provider Schema", "description": "Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.", diff --git a/dist/js/schema/context_providers_directory/neb_data_provider.json b/dist/js/schema/context_providers_directory/neb_provider.json similarity index 81% rename from dist/js/schema/context_providers_directory/neb_data_provider.json rename to dist/js/schema/context_providers_directory/neb_provider.json index 0b1399acc..685f9b90c 100644 --- a/dist/js/schema/context_providers_directory/neb_data_provider.json +++ b/dist/js/schema/context_providers_directory/neb_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/neb-data-provider", + "$id": "context-providers-directory/neb-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "NEB Provider Schema", "description": "Number of intermediate NEB images.", diff --git a/dist/js/schema/context_providers_directory/non_collinear_magnetization_context_provider.json b/dist/js/schema/context_providers_directory/non_collinear_magnetization_provider.json similarity index 99% rename from dist/js/schema/context_providers_directory/non_collinear_magnetization_context_provider.json rename to dist/js/schema/context_providers_directory/non_collinear_magnetization_provider.json index caf5760ac..ab3d715a7 100644 --- a/dist/js/schema/context_providers_directory/non_collinear_magnetization_context_provider.json +++ b/dist/js/schema/context_providers_directory/non_collinear_magnetization_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/non-collinear-magnetization-context-provider", + "$id": "context-providers-directory/non-collinear-magnetization-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Non Collinear Magnetization Provider Schema", "description": "Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.", diff --git a/dist/js/schema/context_providers_directory/planewave_cutoffs_context_provider.json b/dist/js/schema/context_providers_directory/planewave_cutoffs_provider.json similarity index 84% rename from dist/js/schema/context_providers_directory/planewave_cutoffs_context_provider.json rename to dist/js/schema/context_providers_directory/planewave_cutoffs_provider.json index 26d94c9c6..89a968fb8 100644 --- a/dist/js/schema/context_providers_directory/planewave_cutoffs_context_provider.json +++ b/dist/js/schema/context_providers_directory/planewave_cutoffs_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/planewave-cutoffs-context-provider", + "$id": "context-providers-directory/planewave-cutoffs-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Planewave Cutoffs Provider Schema", "description": "Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.", diff --git a/dist/js/schema/context_providers_directory/points_grid_data_provider.json b/dist/js/schema/context_providers_directory/points_grid_provider.json similarity index 94% rename from dist/js/schema/context_providers_directory/points_grid_data_provider.json rename to dist/js/schema/context_providers_directory/points_grid_provider.json index be285dd04..91e3e5382 100644 --- a/dist/js/schema/context_providers_directory/points_grid_data_provider.json +++ b/dist/js/schema/context_providers_directory/points_grid_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/points-grid-data-provider", + "$id": "context-providers-directory/points-grid-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Points Grid Provider Schema", "description": "3D grid with shifts for k-point or q-point sampling.", diff --git a/dist/js/schema/context_providers_directory/points_path_data_provider.json b/dist/js/schema/context_providers_directory/points_path_provider.json similarity index 86% rename from dist/js/schema/context_providers_directory/points_path_data_provider.json rename to dist/js/schema/context_providers_directory/points_path_provider.json index 01768be8e..c04ebd0ba 100644 --- a/dist/js/schema/context_providers_directory/points_path_data_provider.json +++ b/dist/js/schema/context_providers_directory/points_path_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/points-path-data-provider", + "$id": "context-providers-directory/points-path-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Points Path Provider Schema", "description": "Path in reciprocal space for band structure calculations.", diff --git a/dist/js/schema/core/primitive/linked_list.json b/dist/js/schema/core/primitive/linked_list.json index 76c7fac7d..f59232e09 100644 --- a/dist/js/schema/core/primitive/linked_list.json +++ b/dist/js/schema/core/primitive/linked_list.json @@ -59,7 +59,8 @@ } }, "required": [ - "flowchartId" + "flowchartId", + "name" ], "properties": { "next": { @@ -98,7 +99,8 @@ } }, "required": [ - "flowchartId" + "flowchartId", + "name" ], "properties": { "next": { diff --git a/dist/js/schema/core/primitive/linked_list/named_node.json b/dist/js/schema/core/primitive/linked_list/named_node.json index 97f797303..0150e3a7f 100644 --- a/dist/js/schema/core/primitive/linked_list/named_node.json +++ b/dist/js/schema/core/primitive/linked_list/named_node.json @@ -17,7 +17,8 @@ } }, "required": [ - "flowchartId" + "flowchartId", + "name" ], "properties": { "next": { diff --git a/dist/js/schema/core/primitive/linked_list/named_node_in_group.json b/dist/js/schema/core/primitive/linked_list/named_node_in_group.json index 2243fc0fd..5659cfea6 100644 --- a/dist/js/schema/core/primitive/linked_list/named_node_in_group.json +++ b/dist/js/schema/core/primitive/linked_list/named_node_in_group.json @@ -17,7 +17,8 @@ } }, "required": [ - "flowchartId" + "flowchartId", + "name" ], "properties": { "next": { diff --git a/dist/js/schema/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.json b/dist/js/schema/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.json index b9965dcac..07b452566 100644 --- a/dist/js/schema/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.json +++ b/dist/js/schema/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.json @@ -3,6 +3,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "has consistency check has metadata named defaultable in-memory entity schema", "type": "object", + "required": [ + "name" + ], "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", "properties": { "_id": { diff --git a/dist/js/schema/in_memory_entity/named.json b/dist/js/schema/in_memory_entity/named.json index 5ee722be1..a37ddb5c1 100644 --- a/dist/js/schema/in_memory_entity/named.json +++ b/dist/js/schema/in_memory_entity/named.json @@ -3,6 +3,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Named in-memory entity schema", "type": "object", + "required": [ + "name" + ], "properties": { "_id": { "description": "entity identity", diff --git a/dist/js/schema/in_memory_entity/named_defaultable.json b/dist/js/schema/in_memory_entity/named_defaultable.json index 66f2e64ca..646cf8d95 100644 --- a/dist/js/schema/in_memory_entity/named_defaultable.json +++ b/dist/js/schema/in_memory_entity/named_defaultable.json @@ -3,6 +3,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Named defaultable in-memory entity schema", "type": "object", + "required": [ + "name" + ], "properties": { "_id": { "description": "entity identity", diff --git a/dist/js/schema/in_memory_entity/named_defaultable_has_metadata.json b/dist/js/schema/in_memory_entity/named_defaultable_has_metadata.json index e3ff6ec59..965312ae0 100644 --- a/dist/js/schema/in_memory_entity/named_defaultable_has_metadata.json +++ b/dist/js/schema/in_memory_entity/named_defaultable_has_metadata.json @@ -3,6 +3,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Named defaultable has metadata in-memory entity schema", "type": "object", + "required": [ + "name" + ], "properties": { "_id": { "description": "entity identity", diff --git a/dist/js/schema/in_memory_entity/named_defaultable_runtime_items.json b/dist/js/schema/in_memory_entity/named_defaultable_runtime_items.json deleted file mode 100644 index 9fd9b1bbd..000000000 --- a/dist/js/schema/in_memory_entity/named_defaultable_runtime_items.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "$id": "in-memory-entity/named-defaultable-runtime-items", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Named defaultable runtime items in-memory entity schema", - "type": "object", - "properties": { - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "name": { - "description": "entity name", - "type": "string" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - } - } -} \ No newline at end of file diff --git a/dist/js/schema/job.json b/dist/js/schema/job.json index 529341572..228189e67 100644 --- a/dist/js/schema/job.json +++ b/dist/js/schema/job.json @@ -6,6 +6,7 @@ "required": [ "_project", "compute", + "name", "status", "workflow" ], @@ -15,8 +16,9 @@ "title": "workflow schema", "type": "object", "required": [ - "units", - "subworkflows" + "name", + "subworkflows", + "units" ], "properties": { "subworkflows": { @@ -48,19 +50,182 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "io" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "subtype": { "enum": [ "input", @@ -203,48 +368,30 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -257,6 +404,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -267,29 +418,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -297,29 +436,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -327,29 +454,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -357,29 +472,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -389,6 +492,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -409,28 +523,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -458,48 +580,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -512,6 +619,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -522,29 +633,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -552,29 +651,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -582,29 +669,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -612,29 +687,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -644,6 +707,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -664,31 +738,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -731,48 +810,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -785,6 +845,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -795,29 +859,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -825,29 +877,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -855,29 +895,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -885,29 +913,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -917,6 +933,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -937,65 +964,24 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assertion" - ], - "description": "type of the unit", - "type": "string" + ] }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" }, "next": { "description": "Next unit's flowchartId. If empty, the current unit is the last.", @@ -1008,6 +994,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -1020,6 +1037,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1030,29 +1051,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1060,29 +1069,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1090,29 +1087,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1120,29 +1105,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1152,6 +1125,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1172,34 +1156,73 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, "shortName": { "description": "The short name of the application. e.g. qe", "type": "string" @@ -1223,7 +1246,22 @@ "isLicensed": { "description": "Whether licensing is present", "type": "boolean" - }, + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1248,20 +1286,78 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } }, "applicationId": { "description": "_ids of the application this executable belongs to", @@ -1273,7 +1369,23 @@ "hasAdvancedComputeOptions": { "description": "Whether advanced compute options are present", "type": "boolean" - }, + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1290,6 +1402,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1300,29 +1416,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1330,29 +1434,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1360,29 +1452,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1390,38 +1470,19 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { + }, "executableId": { "description": "_id of the executable this flavor belongs to", "type": "string" @@ -1462,198 +1523,35 @@ "items": { "type": "string" } - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "name": { - "description": "entity name", - "type": "string" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } } } }, "input": { "description": "unit input (type to be specified by the application's execution unit)" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assignment unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "operand", + "postProcessors", + "preProcessors", + "results", + "type", + "value" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -1666,6 +1564,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1676,29 +1578,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1706,29 +1596,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1736,29 +1614,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1766,29 +1632,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1798,6 +1652,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1818,27 +1683,37 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assignment unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "operand", - "type", - "value" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assignment" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "scope": { "type": "string" }, "input": { @@ -1881,48 +1756,31 @@ "type": "number" } ] - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "monitors", + "name", + "operation", + "operationType", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -1935,6 +1793,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1945,29 +1807,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1975,29 +1825,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2005,29 +1843,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2035,29 +1861,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2067,6 +1881,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2088,62 +1913,14 @@ } } }, - "scope": { - "type": "string" - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "processing unit schema", - "type": "object", - "required": [ - "flowchartId", - "inputData", - "operation", - "operationType", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "processing" ] }, "head": { @@ -2165,170 +1942,16 @@ "context": { "type": "object" }, - "slug": { - "description": "entity slug", + "operation": { + "description": "Contains information about the operation used.", "type": "string" }, - "systemName": { + "operationType": { + "description": "Contains information about the specific type of the operation used.", "type": "string" }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { - "type": "string" - }, - "repetition": { - "type": "number" - } - } - } + "inputData": { + "description": "unit input (type to be specified by the child units)" } } } @@ -2393,32 +2016,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -2443,6 +2048,30 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } }, @@ -2662,97 +2291,260 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "io" - ], - "description": "type of the unit", + "_id": { + "description": "entity identity", "type": "string" }, - "subtype": { - "enum": [ - "input", - "output", - "dataFrame" - ] + "slug": { + "description": "entity slug", + "type": "string" }, - "source": { - "enum": [ - "api", - "db", - "object_storage" - ] + "systemName": { + "type": "string" }, - "input": { + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", "type": "array", "items": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "data IO rest API input schema", - "type": "object", - "properties": { - "endpoint": { - "description": "rest API endpoint", - "type": "string" - }, - "endpoint_options": { - "description": "rest API endpoint options", - "type": "object" - }, - "name": { - "description": "the name of the variable in local scope to save the data under", - "type": "string" - } - }, - "required": [ - "endpoint", - "endpoint_options" - ], - "additionalProperties": true - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "data IO database input/output schema", - "type": "object", - "oneOf": [ - { - "properties": { - "ids": { - "description": "IDs of item to retrieve from db", - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "ids" - ], - "additionalProperties": true - }, - { - "properties": { - "collection": { - "description": "db collection name", - "type": "string" - }, - "draft": { - "description": "whether the result should be saved as draft", - "type": "boolean" - } - }, - "required": [ - "collection", - "draft" - ], - "additionalProperties": true + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "io" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "subtype": { + "enum": [ + "input", + "output", + "dataFrame" + ] + }, + "source": { + "enum": [ + "api", + "db", + "object_storage" + ] + }, + "input": { + "type": "array", + "items": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO rest API input schema", + "type": "object", + "properties": { + "endpoint": { + "description": "rest API endpoint", + "type": "string" + }, + "endpoint_options": { + "description": "rest API endpoint options", + "type": "object" + }, + "name": { + "description": "the name of the variable in local scope to save the data under", + "type": "string" + } + }, + "required": [ + "endpoint", + "endpoint_options" + ], + "additionalProperties": true + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO database input/output schema", + "type": "object", + "oneOf": [ + { + "properties": { + "ids": { + "description": "IDs of item to retrieve from db", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "ids" + ], + "additionalProperties": true + }, + { + "properties": { + "collection": { + "description": "db collection name", + "type": "string" + }, + "draft": { + "description": "whether the result should be saved as draft", + "type": "boolean" + } + }, + "required": [ + "collection", + "draft" + ], + "additionalProperties": true } ] }, @@ -2817,60 +2609,46 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" + "description": "entity identity", + "type": "string" }, - "isDraft": { - "type": "boolean" + "slug": { + "description": "entity slug", + "type": "string" }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "systemName": { "type": "string" }, - "status": { - "description": "Status of the unit.", + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" + "default": "2022.8.16" }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "name": { + "description": "entity name", "type": "string" }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2881,29 +2659,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2911,29 +2677,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2941,29 +2695,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2971,29 +2713,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3003,6 +2733,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3023,28 +2764,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -3072,48 +2821,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -3126,6 +2860,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3136,29 +2874,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3166,29 +2892,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3196,29 +2910,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3226,29 +2928,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3258,6 +2948,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3278,31 +2979,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -3345,48 +3051,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -3399,6 +3086,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3409,29 +3100,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3439,29 +3118,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3469,29 +3136,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3499,29 +3154,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3531,6 +3174,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3551,56 +3205,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "assertion" - ], - "description": "type of the unit", - "type": "string" - }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" - }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "assertion" ] }, "head": { @@ -3622,6 +3235,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -3634,6 +3278,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3644,29 +3292,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3674,29 +3310,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3704,29 +3328,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3734,29 +3346,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3766,6 +3366,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3786,58 +3397,48 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -3862,221 +3463,46 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" }, - "applicationId": { - "description": "_ids of the application this executable belongs to", - "type": "array", - "items": { - "type": "string" - } - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { - "executableId": { - "description": "_id of the executable this flavor belongs to", + "shortName": { + "description": "The short name of the application. e.g. qe", "type": "string" }, - "executableName": { - "description": "name of the executable this flavor belongs to", + "summary": { + "description": "Application's short description.", "type": "string" }, - "applicationName": { - "description": "name of the application this flavor belongs to", + "version": { + "description": "Application version. e.g. 5.3.5", "type": "string" }, - "input": { - "title": "execution unit input schema", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit input id item schema for physics-based simulation engines", - "type": "object", - "additionalProperties": false, - "properties": { - "templateId": { - "type": "string" - }, - "templateName": { - "type": "string" - }, - "name": { - "description": "name of the resulting input file, if different than template name", - "type": "string" - } - } - } + "build": { + "description": "Application build. e.g. VTST", + "type": "string" }, - "supportedApplicationVersions": { - "description": "list of application versions this flavor supports", - "type": "array", - "items": { - "type": "string" - } + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -4107,29 +3533,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -4137,29 +3551,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -4167,29 +3569,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4197,241 +3587,188 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } + } + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" } } }, - "input": { - "description": "unit input (type to be specified by the application's execution unit)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", "required": [ "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "execution unit input id item schema for physics-based simulation engines", "type": "object", + "additionalProperties": false, "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, "name": { - "description": "The name of this item. e.g. scf_accuracy", + "description": "name of the resulting input file, if different than template name", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { "type": "string" - }, - "repetition": { - "type": "number" } } } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)" } } }, @@ -4441,102 +3778,21 @@ "type": "object", "required": [ "flowchartId", + "monitors", "name", "operand", + "postProcessors", + "preProcessors", + "results", "type", "value" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "assignment" - ], - "description": "type of the unit", - "type": "string" - }, - "input": { - "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "workflow unit input schema", - "type": "object", - "required": [ - "scope", - "name" - ], - "properties": { - "scope": { - "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", - "type": "string" - }, - "name": { - "description": "Name of the input data. e.g. total_energy", - "type": "string" - } - } - } - }, - "operand": { - "description": "Name of the global variable. e.g. 'x'", - "type": "string" - }, - "value": { - "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", - "oneOf": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "number" - } - ] - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -4549,6 +3805,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -4559,29 +3819,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -4589,29 +3837,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -4619,29 +3855,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4649,29 +3873,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -4681,6 +3893,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -4702,62 +3925,14 @@ } } }, - "scope": { - "type": "string" - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "processing unit schema", - "type": "object", - "required": [ - "flowchartId", - "inputData", - "operation", - "operationType", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "assignment" ] }, "head": { @@ -4779,6 +3954,74 @@ "context": { "type": "object" }, + "scope": { + "type": "string" + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + } + ] + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "monitors", + "name", + "operation", + "operationType", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -4791,6 +4034,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -4801,29 +4048,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -4831,59 +4066,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4891,29 +4102,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -4923,6 +4122,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -4943,93 +4153,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "map unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "type", - "workflowId" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "map" - ], - "description": "type of the unit", - "type": "string" - }, - "workflowId": { - "description": "Id of workflow to run inside map", - "type": "string" - }, - "input": { - "description": "Input information for map.", - "type": "object", - "required": [ - "target" - ], - "properties": { - "target": { - "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", - "type": "string" - }, - "scope": { - "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", - "type": "string" - }, - "name": { - "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", - "type": "string" - }, - "values": { - "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - } - ] - } - }, - "useValues": { - "type": "boolean" - } - } - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "processing" ] }, "head": { @@ -5051,6 +4183,40 @@ "context": { "type": "object" }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "map unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type", + "workflowId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -5063,6 +4229,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -5073,29 +4243,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -5103,29 +4261,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -5133,59 +4279,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { "description": "names of the results for this calculation", "type": "array", "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -5195,6 +4317,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -5215,46 +4348,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "subworkflow unit schema", - "type": "object", - "required": [ - "type", - "flowchartId" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "subworkflow" - ], - "description": "type of the unit", - "type": "string" - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "map" ] }, "head": { @@ -5276,6 +4378,72 @@ "context": { "type": "object" }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + } + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "subworkflow unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -5288,6 +4456,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -5298,29 +4470,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -5328,29 +4488,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -5358,29 +4506,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -5388,29 +4524,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -5420,6 +4544,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -5440,6 +4575,35 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "subworkflow" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" } } } diff --git a/dist/js/schema/job/base.json b/dist/js/schema/job/base.json index a8c9d7483..9a9f00134 100644 --- a/dist/js/schema/job/base.json +++ b/dist/js/schema/job/base.json @@ -4,9 +4,10 @@ "title": "job base schema", "type": "object", "required": [ - "status", + "_project", "compute", - "_project" + "name", + "status" ], "properties": { "rmsId": { diff --git a/dist/js/schema/material.json b/dist/js/schema/material.json index a16cbff69..7bf8457ea 100644 --- a/dist/js/schema/material.json +++ b/dist/js/schema/material.json @@ -5,7 +5,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -730,6 +731,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -754,9 +783,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } \ No newline at end of file diff --git a/dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json b/dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json index 699c08d4f..9d6c7f6ed 100644 --- a/dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +++ b/dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json @@ -223,7 +223,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -948,6 +949,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -972,9 +1001,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1020,7 +1046,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1745,6 +1772,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1769,9 +1824,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -2068,7 +2120,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -2793,6 +2846,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -2817,9 +2898,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -2865,7 +2943,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -3590,6 +3669,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -3614,9 +3721,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -3872,7 +3976,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -4597,6 +4702,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -4621,9 +4754,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -4669,7 +4799,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -5394,6 +5525,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -5418,9 +5577,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -5717,7 +5873,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -6442,6 +6599,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -6466,9 +6651,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -6514,7 +6696,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -7239,6 +7422,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -7263,9 +7474,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -7348,7 +7556,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -8073,6 +8282,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -8097,9 +8334,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json b/dist/js/schema/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json index 702e17513..49a21b4a7 100644 --- a/dist/js/schema/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +++ b/dist/js/schema/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json @@ -223,7 +223,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -948,6 +949,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -972,9 +1001,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1020,7 +1046,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1745,6 +1772,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1769,9 +1824,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -2068,7 +2120,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -2793,6 +2846,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -2817,9 +2898,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -2865,7 +2943,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -3590,6 +3669,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -3614,9 +3721,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -3872,7 +3976,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -4597,6 +4702,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -4621,9 +4754,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -4669,7 +4799,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -5394,6 +5525,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -5418,9 +5577,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -5717,7 +5873,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -6442,6 +6599,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -6466,9 +6651,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -6514,7 +6696,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -7239,6 +7422,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -7263,9 +7474,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -7348,7 +7556,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -8073,6 +8282,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -8097,9 +8334,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/defective_structures/two_dimensional/adatom/configuration.json b/dist/js/schema/materials_category/defective_structures/two_dimensional/adatom/configuration.json index 3f587e324..b622fb354 100644 --- a/dist/js/schema/materials_category/defective_structures/two_dimensional/adatom/configuration.json +++ b/dist/js/schema/materials_category/defective_structures/two_dimensional/adatom/configuration.json @@ -220,7 +220,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -945,6 +946,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -969,9 +998,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1017,7 +1043,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1742,6 +1769,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1766,9 +1821,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -1832,7 +1884,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -2557,6 +2610,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -2581,9 +2662,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -2790,7 +2868,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -3515,6 +3594,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -3539,9 +3646,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json b/dist/js/schema/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json index b6e64bf17..5741dd04b 100644 --- a/dist/js/schema/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +++ b/dist/js/schema/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json @@ -235,7 +235,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -960,6 +961,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -984,9 +1013,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1032,7 +1058,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1757,6 +1784,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1781,9 +1836,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -2080,7 +2132,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -2805,6 +2858,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -2829,9 +2910,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -2877,7 +2955,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -3602,6 +3681,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -3626,9 +3733,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -3884,7 +3988,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -4609,6 +4714,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -4633,9 +4766,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -4681,7 +4811,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -5406,6 +5537,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -5430,9 +5589,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -5729,7 +5885,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -6454,6 +6611,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -6478,9 +6663,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -6526,7 +6708,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -7251,6 +7434,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -7275,9 +7486,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -7360,7 +7568,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -8085,6 +8294,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -8109,9 +8346,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json b/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json index 398a9fc00..9b6310265 100644 --- a/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json +++ b/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json @@ -220,7 +220,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -945,6 +946,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -969,9 +998,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1017,7 +1043,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1742,6 +1769,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1766,9 +1821,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -2035,7 +2087,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -2760,6 +2813,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -2784,9 +2865,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -2832,7 +2910,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -3557,6 +3636,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -3581,9 +3688,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -3645,7 +3749,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -4370,6 +4475,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -4394,9 +4527,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -4688,7 +4818,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -5413,6 +5544,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -5437,9 +5596,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json b/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json index 6d68e316b..7f1021c62 100644 --- a/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json +++ b/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json @@ -221,7 +221,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -946,6 +947,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -970,9 +999,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1018,7 +1044,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1743,6 +1770,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1767,9 +1822,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -2036,7 +2088,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -2761,6 +2814,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -2785,9 +2866,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -2833,7 +2911,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -3558,6 +3637,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -3582,9 +3689,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -3646,7 +3750,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -4371,6 +4476,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -4395,9 +4528,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -4689,7 +4819,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -5414,6 +5545,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -5438,9 +5597,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json b/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json index 93ad90e5d..73f359f34 100644 --- a/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +++ b/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json @@ -20,7 +20,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -745,6 +746,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -769,9 +798,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json b/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json index ad2e05dd7..9ebba8c09 100644 --- a/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json +++ b/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json @@ -20,7 +20,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -745,6 +746,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -769,9 +798,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -793,7 +819,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1518,6 +1545,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1542,9 +1597,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json b/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json index 5fddc05a7..cea9d7114 100644 --- a/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +++ b/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json @@ -20,7 +20,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -745,6 +746,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -769,9 +798,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -793,7 +819,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1518,6 +1545,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1542,9 +1597,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json b/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json index a5e52772c..a406d2b19 100644 --- a/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json +++ b/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json @@ -20,7 +20,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -745,6 +746,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -769,9 +798,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category/pristine_structures/three_dimensional/ideal_crystal.json b/dist/js/schema/materials_category/pristine_structures/three_dimensional/ideal_crystal.json index a4239cbce..c9c850891 100644 --- a/dist/js/schema/materials_category/pristine_structures/three_dimensional/ideal_crystal.json +++ b/dist/js/schema/materials_category/pristine_structures/three_dimensional/ideal_crystal.json @@ -6,7 +6,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -731,6 +732,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -755,9 +784,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } \ No newline at end of file diff --git a/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanoribbon.json b/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanoribbon.json index 86e30ef43..f191e7b6c 100644 --- a/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanoribbon.json +++ b/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanoribbon.json @@ -372,7 +372,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1097,6 +1098,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1121,9 +1150,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1169,7 +1195,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1894,6 +1921,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1918,9 +1973,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -2001,7 +2053,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -2726,6 +2779,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -2750,9 +2831,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanotape.json b/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanotape.json index 9b52c64a8..2d3903fb2 100644 --- a/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanotape.json +++ b/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanotape.json @@ -357,7 +357,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1082,6 +1083,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1106,9 +1135,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1154,7 +1180,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1879,6 +1906,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1903,9 +1958,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json b/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json index 796abf25d..626236ff3 100644 --- a/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json +++ b/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json @@ -205,7 +205,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -930,6 +931,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -954,9 +983,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1002,7 +1028,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1727,6 +1754,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1751,9 +1806,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json b/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json index f7fc71cd5..2a2116abd 100644 --- a/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +++ b/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json @@ -250,7 +250,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -975,6 +976,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -999,9 +1028,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1047,7 +1073,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1772,6 +1799,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1796,9 +1851,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category/processed_structures/two_dimensional/passivation/configuration.json b/dist/js/schema/materials_category/processed_structures/two_dimensional/passivation/configuration.json index 7fdf94c43..09398b039 100644 --- a/dist/js/schema/materials_category/processed_structures/two_dimensional/passivation/configuration.json +++ b/dist/js/schema/materials_category/processed_structures/two_dimensional/passivation/configuration.json @@ -21,7 +21,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -746,6 +747,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -770,9 +799,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -794,7 +820,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1519,6 +1546,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1543,9 +1598,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json b/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json index adb26a737..440aac225 100644 --- a/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +++ b/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json @@ -16,7 +16,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -741,6 +742,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -765,9 +794,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json b/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json index 22ae88764..693d286b4 100644 --- a/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +++ b/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json @@ -17,7 +17,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -742,6 +743,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -766,9 +795,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/void_region.json b/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/void_region.json index b3003274c..9c5cd0789 100644 --- a/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/void_region.json +++ b/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/void_region.json @@ -15,7 +15,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -740,6 +741,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -764,9 +793,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/core/three_dimensional/crystal.json b/dist/js/schema/materials_category_components/entities/core/three_dimensional/crystal.json index a81373a74..a8156620e 100644 --- a/dist/js/schema/materials_category_components/entities/core/three_dimensional/crystal.json +++ b/dist/js/schema/materials_category_components/entities/core/three_dimensional/crystal.json @@ -6,7 +6,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -731,6 +732,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -755,9 +784,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } \ No newline at end of file diff --git a/dist/js/schema/materials_category_components/entities/core/two_dimensional/vacuum.json b/dist/js/schema/materials_category_components/entities/core/two_dimensional/vacuum.json index 279e550a7..1a4b53f95 100644 --- a/dist/js/schema/materials_category_components/entities/core/two_dimensional/vacuum.json +++ b/dist/js/schema/materials_category_components/entities/core/two_dimensional/vacuum.json @@ -34,7 +34,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -759,6 +760,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -783,9 +812,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json b/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json index e5d6cd933..37ca1d683 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +++ b/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json @@ -27,7 +27,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -752,6 +753,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -776,9 +805,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json b/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json index 58b574e69..674838999 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +++ b/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json @@ -342,7 +342,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1067,6 +1068,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1091,9 +1120,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.json b/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.json index ee03e7048..702b19303 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.json +++ b/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.json @@ -15,7 +15,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -740,6 +741,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -764,9 +793,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.json b/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.json index c06daa812..c99b26c67 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.json +++ b/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.json @@ -16,7 +16,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -741,6 +742,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -765,9 +794,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_uniform.json b/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_uniform.json index ad4d84d8e..4f5061eb2 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_uniform.json +++ b/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_uniform.json @@ -16,7 +16,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -741,6 +742,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -765,9 +794,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/supercell.json b/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/supercell.json index be2528c37..b48e6d4d4 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/supercell.json +++ b/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/supercell.json @@ -16,7 +16,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -741,6 +742,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -765,9 +794,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json b/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json index 6bd7d45a0..dd4307062 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json +++ b/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json @@ -189,7 +189,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -914,6 +915,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -938,9 +967,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json b/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json index 666869a9f..6544a925e 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json +++ b/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json @@ -189,7 +189,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -914,6 +915,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -938,9 +967,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json b/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json index bc7883150..3abc5f103 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json +++ b/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json @@ -190,7 +190,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -915,6 +916,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -939,9 +968,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json b/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json index 936799fbd..a0ead31cc 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json +++ b/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json @@ -32,7 +32,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -757,6 +758,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -781,9 +810,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json b/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json index ff91a0a02..05c8d69d7 100644 --- a/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json +++ b/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json @@ -220,7 +220,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -945,6 +946,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -969,9 +998,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, @@ -1017,7 +1043,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -1742,6 +1769,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -1766,9 +1821,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } @@ -1852,7 +1904,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -2577,6 +2630,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -2601,9 +2682,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } } diff --git a/dist/js/schema/materials_category_components/operations/core/modifications/perturb.json b/dist/js/schema/materials_category_components/operations/core/modifications/perturb.json index 120101bbb..82ab8e762 100644 --- a/dist/js/schema/materials_category_components/operations/core/modifications/perturb.json +++ b/dist/js/schema/materials_category_components/operations/core/modifications/perturb.json @@ -11,7 +11,8 @@ "type": "object", "required": [ "basis", - "lattice" + "lattice", + "name" ], "properties": { "formula": { @@ -736,6 +737,34 @@ } } }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "required": [ + "type", + "offset" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "offset": { + "type": "number" + } + } + } + } + }, "_id": { "description": "entity identity", "type": "string" @@ -760,9 +789,6 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - }, - "metadata": { - "type": "object" } } }, diff --git a/dist/js/schema/method/categorized_method.json b/dist/js/schema/method/categorized_method.json index 5dd83e17f..45428ea7e 100644 --- a/dist/js/schema/method/categorized_method.json +++ b/dist/js/schema/method/categorized_method.json @@ -4,6 +4,7 @@ "title": "categorized method", "type": "object", "required": [ + "name", "units" ], "properties": { @@ -13,6 +14,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "categorized unit method", "type": "object", + "required": [ + "name" + ], "properties": { "categories": { "$schema": "http://json-schema.org/draft-07/schema#", diff --git a/dist/js/schema/method/unit_method.json b/dist/js/schema/method/unit_method.json index ab8a53e37..07737ecc7 100644 --- a/dist/js/schema/method/unit_method.json +++ b/dist/js/schema/method/unit_method.json @@ -3,6 +3,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "categorized unit method", "type": "object", + "required": [ + "name" + ], "properties": { "categories": { "$schema": "http://json-schema.org/draft-07/schema#", diff --git a/dist/js/schema/methods_directory/mathematical/cg.json b/dist/js/schema/methods_directory/mathematical/cg.json index 552d2a302..e056e3d7a 100644 --- a/dist/js/schema/methods_directory/mathematical/cg.json +++ b/dist/js/schema/methods_directory/mathematical/cg.json @@ -5,7 +5,8 @@ "description": "conjugate gradient method schema", "type": "object", "required": [ - "categories" + "categories", + "name" ], "properties": { "categories": { diff --git a/dist/js/schema/methods_directory/mathematical/davidson.json b/dist/js/schema/methods_directory/mathematical/davidson.json index 95dc49baf..eed233fb1 100644 --- a/dist/js/schema/methods_directory/mathematical/davidson.json +++ b/dist/js/schema/methods_directory/mathematical/davidson.json @@ -5,7 +5,8 @@ "description": "Davidson diagonalization method", "type": "object", "required": [ - "categories" + "categories", + "name" ], "properties": { "categories": { diff --git a/dist/js/schema/methods_directory/mathematical/regression.json b/dist/js/schema/methods_directory/mathematical/regression.json index dac803f35..05559d9b6 100644 --- a/dist/js/schema/methods_directory/mathematical/regression.json +++ b/dist/js/schema/methods_directory/mathematical/regression.json @@ -5,8 +5,9 @@ "type": "object", "required": [ "categories", - "precision", - "data" + "data", + "name", + "precision" ], "properties": { "categories": { diff --git a/dist/js/schema/methods_directory/physical/ao/dunning.json b/dist/js/schema/methods_directory/physical/ao/dunning.json index a12c85172..807a86473 100644 --- a/dist/js/schema/methods_directory/physical/ao/dunning.json +++ b/dist/js/schema/methods_directory/physical/ao/dunning.json @@ -5,7 +5,8 @@ "description": "Dunning correlation-consistent basis set unit method", "type": "object", "required": [ - "categories" + "categories", + "name" ], "definitions": { "ao-basis-dunning": { diff --git a/dist/js/schema/methods_directory/physical/ao/other.json b/dist/js/schema/methods_directory/physical/ao/other.json index c0b4d97a5..c775d0482 100644 --- a/dist/js/schema/methods_directory/physical/ao/other.json +++ b/dist/js/schema/methods_directory/physical/ao/other.json @@ -5,7 +5,8 @@ "description": "Other (neither Pople nor Dunning) basis set unit method", "type": "object", "required": [ - "categories" + "categories", + "name" ], "definitions": { "ao-basis-other": { diff --git a/dist/js/schema/methods_directory/physical/ao/pople.json b/dist/js/schema/methods_directory/physical/ao/pople.json index e18c4251e..984860a2b 100644 --- a/dist/js/schema/methods_directory/physical/ao/pople.json +++ b/dist/js/schema/methods_directory/physical/ao/pople.json @@ -5,7 +5,8 @@ "description": "Pople basis set unit method", "type": "object", "required": [ - "categories" + "categories", + "name" ], "definitions": { "ao-basis-pople": { diff --git a/dist/js/schema/methods_directory/physical/psp.json b/dist/js/schema/methods_directory/physical/psp.json index 70cdafb71..549f9df05 100644 --- a/dist/js/schema/methods_directory/physical/psp.json +++ b/dist/js/schema/methods_directory/physical/psp.json @@ -5,7 +5,8 @@ "description": "Core-valence separation by means of pseudopotentials (effective potential)", "type": "object", "required": [ - "categories" + "categories", + "name" ], "properties": { "categories": { diff --git a/dist/js/schema/methods_directory/physical/pw.json b/dist/js/schema/methods_directory/physical/pw.json index 7d6e0cf7e..d6ea4298e 100644 --- a/dist/js/schema/methods_directory/physical/pw.json +++ b/dist/js/schema/methods_directory/physical/pw.json @@ -5,7 +5,8 @@ "description": "Approximating the electronic wave function with a plane wave basis", "type": "object", "required": [ - "categories" + "categories", + "name" ], "properties": { "categories": { diff --git a/dist/js/schema/methods_directory/physical/smearing.json b/dist/js/schema/methods_directory/physical/smearing.json index dc1b7f20b..43a12397b 100644 --- a/dist/js/schema/methods_directory/physical/smearing.json +++ b/dist/js/schema/methods_directory/physical/smearing.json @@ -5,7 +5,8 @@ "description": "Approximating Heaviside step function with smooth function", "type": "object", "required": [ - "categories" + "categories", + "name" ], "properties": { "categories": { diff --git a/dist/js/schema/methods_directory/physical/tetrahedron.json b/dist/js/schema/methods_directory/physical/tetrahedron.json index fa79e3370..10688888c 100644 --- a/dist/js/schema/methods_directory/physical/tetrahedron.json +++ b/dist/js/schema/methods_directory/physical/tetrahedron.json @@ -4,7 +4,8 @@ "title": "unit method tetrahedron", "type": "object", "required": [ - "categories" + "categories", + "name" ], "properties": { "categories": { diff --git a/dist/js/schema/model/categorized_model.json b/dist/js/schema/model/categorized_model.json index 3fe33c2f4..fa28d364e 100644 --- a/dist/js/schema/model/categorized_model.json +++ b/dist/js/schema/model/categorized_model.json @@ -6,6 +6,7 @@ "required": [ "categories", "method", + "name", "parameters" ], "properties": { @@ -14,6 +15,7 @@ "title": "categorized method", "type": "object", "required": [ + "name", "units" ], "properties": { @@ -23,6 +25,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "categorized unit method", "type": "object", + "required": [ + "name" + ], "properties": { "categories": { "$schema": "http://json-schema.org/draft-07/schema#", diff --git a/dist/js/schema/model/model_without_method.json b/dist/js/schema/model/model_without_method.json index 29b0b2fc1..31741c162 100644 --- a/dist/js/schema/model/model_without_method.json +++ b/dist/js/schema/model/model_without_method.json @@ -5,6 +5,7 @@ "type": "object", "required": [ "categories", + "name", "parameters" ], "properties": { diff --git a/dist/js/schema/models_directory/double_hybrid.json b/dist/js/schema/models_directory/double_hybrid.json index f410cbe5c..06f2d4beb 100644 --- a/dist/js/schema/models_directory/double_hybrid.json +++ b/dist/js/schema/models_directory/double_hybrid.json @@ -5,6 +5,7 @@ "type": "object", "required": [ "categories", + "name", "parameters" ], "properties": { diff --git a/dist/js/schema/models_directory/gga.json b/dist/js/schema/models_directory/gga.json index 977292b65..06f2c8409 100644 --- a/dist/js/schema/models_directory/gga.json +++ b/dist/js/schema/models_directory/gga.json @@ -5,6 +5,7 @@ "type": "object", "required": [ "categories", + "name", "parameters" ], "properties": { diff --git a/dist/js/schema/models_directory/gw.json b/dist/js/schema/models_directory/gw.json index 8b55fafc7..33dd9dff7 100644 --- a/dist/js/schema/models_directory/gw.json +++ b/dist/js/schema/models_directory/gw.json @@ -5,6 +5,7 @@ "type": "object", "required": [ "categories", + "name", "parameters" ], "properties": { diff --git a/dist/js/schema/models_directory/hybrid.json b/dist/js/schema/models_directory/hybrid.json index 50a92d899..c494e99be 100644 --- a/dist/js/schema/models_directory/hybrid.json +++ b/dist/js/schema/models_directory/hybrid.json @@ -5,6 +5,7 @@ "type": "object", "required": [ "categories", + "name", "parameters" ], "properties": { diff --git a/dist/js/schema/models_directory/lda.json b/dist/js/schema/models_directory/lda.json index f4415876c..3dd60ea01 100644 --- a/dist/js/schema/models_directory/lda.json +++ b/dist/js/schema/models_directory/lda.json @@ -5,6 +5,7 @@ "type": "object", "required": [ "categories", + "name", "parameters" ], "properties": { diff --git a/dist/js/schema/models_directory/mgga.json b/dist/js/schema/models_directory/mgga.json index 0e0d78e69..4c6fdaaa0 100644 --- a/dist/js/schema/models_directory/mgga.json +++ b/dist/js/schema/models_directory/mgga.json @@ -5,6 +5,7 @@ "type": "object", "required": [ "categories", + "name", "parameters" ], "properties": { diff --git a/dist/js/schema/models_directory/re.json b/dist/js/schema/models_directory/re.json index 861747994..310cd517e 100644 --- a/dist/js/schema/models_directory/re.json +++ b/dist/js/schema/models_directory/re.json @@ -6,6 +6,7 @@ "type": "object", "required": [ "categories", + "name", "parameters" ], "properties": { diff --git a/dist/js/schema/project.json b/dist/js/schema/project.json index 4cb798a18..cfae2a229 100644 --- a/dist/js/schema/project.json +++ b/dist/js/schema/project.json @@ -3,6 +3,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "project schema", "type": "object", + "required": [ + "name" + ], "properties": { "gid": { "description": "project GID", diff --git a/dist/js/schema/properties_directory/non_scalar/workflow.json b/dist/js/schema/properties_directory/non_scalar/workflow.json index 288e70446..f84874ee8 100644 --- a/dist/js/schema/properties_directory/non_scalar/workflow.json +++ b/dist/js/schema/properties_directory/non_scalar/workflow.json @@ -45,19 +45,182 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "io" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "subtype": { "enum": [ "input", @@ -200,48 +363,30 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -254,6 +399,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -264,29 +413,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -294,29 +431,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -324,29 +449,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -354,29 +467,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -386,6 +487,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -406,28 +518,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -455,48 +575,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -509,6 +614,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -519,29 +628,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -549,29 +646,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -579,29 +664,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -609,29 +682,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -641,6 +702,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -661,31 +733,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -728,48 +805,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -782,6 +840,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -792,29 +854,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -822,29 +872,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -852,29 +890,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -882,29 +908,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -914,6 +928,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -934,65 +959,24 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assertion" - ], - "description": "type of the unit", - "type": "string" + ] }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" }, "next": { "description": "Next unit's flowchartId. If empty, the current unit is the last.", @@ -1005,6 +989,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -1017,6 +1032,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1027,29 +1046,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1057,29 +1064,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1087,29 +1082,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1117,29 +1100,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1149,6 +1120,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1169,34 +1151,73 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, "shortName": { "description": "The short name of the application. e.g. qe", "type": "string" @@ -1220,7 +1241,22 @@ "isLicensed": { "description": "Whether licensing is present", "type": "boolean" - }, + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1245,20 +1281,78 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } }, "applicationId": { "description": "_ids of the application this executable belongs to", @@ -1270,7 +1364,23 @@ "hasAdvancedComputeOptions": { "description": "Whether advanced compute options are present", "type": "boolean" - }, + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1287,6 +1397,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1297,29 +1411,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1327,29 +1429,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1357,29 +1447,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1387,38 +1465,19 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { + }, "executableId": { "description": "_id of the executable this flavor belongs to", "type": "string" @@ -1459,198 +1518,35 @@ "items": { "type": "string" } - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "name": { - "description": "entity name", - "type": "string" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } } } }, "input": { "description": "unit input (type to be specified by the application's execution unit)" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assignment unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "operand", + "postProcessors", + "preProcessors", + "results", + "type", + "value" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -1663,6 +1559,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1673,29 +1573,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1703,29 +1591,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1733,29 +1609,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1763,29 +1627,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1795,6 +1647,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1815,27 +1678,37 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assignment unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "operand", - "type", - "value" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assignment" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "scope": { "type": "string" }, "input": { @@ -1878,48 +1751,31 @@ "type": "number" } ] - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "monitors", + "name", + "operation", + "operationType", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -1932,6 +1788,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1942,29 +1802,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1972,29 +1820,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2002,29 +1838,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2032,29 +1856,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2064,6 +1876,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2085,62 +1908,14 @@ } } }, - "scope": { - "type": "string" - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "processing unit schema", - "type": "object", - "required": [ - "flowchartId", - "inputData", - "operation", - "operationType", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "processing" ] }, "head": { @@ -2162,170 +1937,16 @@ "context": { "type": "object" }, - "slug": { - "description": "entity slug", + "operation": { + "description": "Contains information about the operation used.", "type": "string" }, - "systemName": { + "operationType": { + "description": "Contains information about the specific type of the operation used.", "type": "string" }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { - "type": "string" - }, - "repetition": { - "type": "number" - } - } - } + "inputData": { + "description": "unit input (type to be specified by the child units)" } } } @@ -2390,32 +2011,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -2440,6 +2043,30 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } }, @@ -2659,97 +2286,260 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "io" - ], - "description": "type of the unit", + "_id": { + "description": "entity identity", "type": "string" }, - "subtype": { - "enum": [ - "input", - "output", - "dataFrame" - ] + "slug": { + "description": "entity slug", + "type": "string" }, - "source": { - "enum": [ - "api", - "db", - "object_storage" - ] + "systemName": { + "type": "string" }, - "input": { + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", "type": "array", "items": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "data IO rest API input schema", - "type": "object", - "properties": { - "endpoint": { - "description": "rest API endpoint", - "type": "string" - }, - "endpoint_options": { - "description": "rest API endpoint options", - "type": "object" - }, - "name": { - "description": "the name of the variable in local scope to save the data under", - "type": "string" - } - }, - "required": [ - "endpoint", - "endpoint_options" - ], - "additionalProperties": true - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "data IO database input/output schema", - "type": "object", - "oneOf": [ - { - "properties": { - "ids": { - "description": "IDs of item to retrieve from db", - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "ids" - ], - "additionalProperties": true - }, - { - "properties": { - "collection": { - "description": "db collection name", - "type": "string" - }, - "draft": { - "description": "whether the result should be saved as draft", - "type": "boolean" - } - }, - "required": [ - "collection", - "draft" - ], - "additionalProperties": true + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "io" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "subtype": { + "enum": [ + "input", + "output", + "dataFrame" + ] + }, + "source": { + "enum": [ + "api", + "db", + "object_storage" + ] + }, + "input": { + "type": "array", + "items": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO rest API input schema", + "type": "object", + "properties": { + "endpoint": { + "description": "rest API endpoint", + "type": "string" + }, + "endpoint_options": { + "description": "rest API endpoint options", + "type": "object" + }, + "name": { + "description": "the name of the variable in local scope to save the data under", + "type": "string" + } + }, + "required": [ + "endpoint", + "endpoint_options" + ], + "additionalProperties": true + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO database input/output schema", + "type": "object", + "oneOf": [ + { + "properties": { + "ids": { + "description": "IDs of item to retrieve from db", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "ids" + ], + "additionalProperties": true + }, + { + "properties": { + "collection": { + "description": "db collection name", + "type": "string" + }, + "draft": { + "description": "whether the result should be saved as draft", + "type": "boolean" + } + }, + "required": [ + "collection", + "draft" + ], + "additionalProperties": true } ] }, @@ -2814,60 +2604,46 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" + "description": "entity identity", + "type": "string" }, - "isDraft": { - "type": "boolean" + "slug": { + "description": "entity slug", + "type": "string" }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "systemName": { "type": "string" }, - "status": { - "description": "Status of the unit.", + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" + "default": "2022.8.16" }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "name": { + "description": "entity name", "type": "string" }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2878,29 +2654,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2908,29 +2672,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2938,29 +2690,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2968,29 +2708,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3000,6 +2728,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3020,28 +2759,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -3069,48 +2816,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -3123,6 +2855,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3133,29 +2869,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3163,29 +2887,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3193,29 +2905,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3223,29 +2923,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3255,6 +2943,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3275,31 +2974,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -3342,48 +3046,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -3396,6 +3081,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3406,29 +3095,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3436,29 +3113,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3466,29 +3131,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3496,29 +3149,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3528,6 +3169,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3548,56 +3200,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "assertion" - ], - "description": "type of the unit", - "type": "string" - }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" - }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "assertion" ] }, "head": { @@ -3619,6 +3230,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -3631,6 +3273,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3641,29 +3287,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3671,29 +3305,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3701,29 +3323,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3731,29 +3341,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3763,6 +3361,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3783,58 +3392,48 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -3859,221 +3458,46 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" }, - "applicationId": { - "description": "_ids of the application this executable belongs to", - "type": "array", - "items": { - "type": "string" - } - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { - "executableId": { - "description": "_id of the executable this flavor belongs to", + "shortName": { + "description": "The short name of the application. e.g. qe", "type": "string" }, - "executableName": { - "description": "name of the executable this flavor belongs to", + "summary": { + "description": "Application's short description.", "type": "string" }, - "applicationName": { - "description": "name of the application this flavor belongs to", + "version": { + "description": "Application version. e.g. 5.3.5", "type": "string" }, - "input": { - "title": "execution unit input schema", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit input id item schema for physics-based simulation engines", - "type": "object", - "additionalProperties": false, - "properties": { - "templateId": { - "type": "string" - }, - "templateName": { - "type": "string" - }, - "name": { - "description": "name of the resulting input file, if different than template name", - "type": "string" - } - } - } + "build": { + "description": "Application build. e.g. VTST", + "type": "string" }, - "supportedApplicationVersions": { - "description": "list of application versions this flavor supports", - "type": "array", - "items": { - "type": "string" - } + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -4104,29 +3528,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -4134,29 +3546,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -4164,29 +3564,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4194,241 +3582,188 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } + } + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" } } }, - "input": { - "description": "unit input (type to be specified by the application's execution unit)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", "required": [ "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "execution unit input id item schema for physics-based simulation engines", "type": "object", + "additionalProperties": false, "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, "name": { - "description": "The name of this item. e.g. scf_accuracy", + "description": "name of the resulting input file, if different than template name", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { "type": "string" - }, - "repetition": { - "type": "number" } } } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)" } } }, @@ -4438,102 +3773,21 @@ "type": "object", "required": [ "flowchartId", + "monitors", "name", "operand", + "postProcessors", + "preProcessors", + "results", "type", "value" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "assignment" - ], - "description": "type of the unit", - "type": "string" - }, - "input": { - "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "workflow unit input schema", - "type": "object", - "required": [ - "scope", - "name" - ], - "properties": { - "scope": { - "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", - "type": "string" - }, - "name": { - "description": "Name of the input data. e.g. total_energy", - "type": "string" - } - } - } - }, - "operand": { - "description": "Name of the global variable. e.g. 'x'", - "type": "string" - }, - "value": { - "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", - "oneOf": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "number" - } - ] - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -4546,6 +3800,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -4556,29 +3814,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -4586,29 +3832,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -4616,29 +3850,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4646,29 +3868,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -4678,6 +3888,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -4699,62 +3920,14 @@ } } }, - "scope": { - "type": "string" - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "processing unit schema", - "type": "object", - "required": [ - "flowchartId", - "inputData", - "operation", - "operationType", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "assignment" ] }, "head": { @@ -4776,6 +3949,74 @@ "context": { "type": "object" }, + "scope": { + "type": "string" + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + } + ] + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "monitors", + "name", + "operation", + "operationType", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -4788,6 +4029,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -4798,29 +4043,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -4828,59 +4061,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4888,29 +4097,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -4920,6 +4117,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -4940,93 +4148,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "map unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "type", - "workflowId" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "map" - ], - "description": "type of the unit", - "type": "string" - }, - "workflowId": { - "description": "Id of workflow to run inside map", - "type": "string" - }, - "input": { - "description": "Input information for map.", - "type": "object", - "required": [ - "target" - ], - "properties": { - "target": { - "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", - "type": "string" - }, - "scope": { - "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", - "type": "string" - }, - "name": { - "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", - "type": "string" - }, - "values": { - "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - } - ] - } - }, - "useValues": { - "type": "boolean" - } - } - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "processing" ] }, "head": { @@ -5048,6 +4178,40 @@ "context": { "type": "object" }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "map unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type", + "workflowId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -5060,6 +4224,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -5070,29 +4238,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -5100,29 +4256,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -5130,59 +4274,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { "description": "names of the results for this calculation", "type": "array", "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -5192,6 +4312,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -5212,46 +4343,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "subworkflow unit schema", - "type": "object", - "required": [ - "type", - "flowchartId" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "subworkflow" - ], - "description": "type of the unit", - "type": "string" - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "map" ] }, "head": { @@ -5273,6 +4373,72 @@ "context": { "type": "object" }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + } + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "subworkflow unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -5285,6 +4451,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -5295,29 +4465,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -5325,29 +4483,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -5355,29 +4501,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -5385,29 +4519,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -5417,6 +4539,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -5437,6 +4570,35 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "subworkflow" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" } } } diff --git a/dist/js/schema/property/holder.json b/dist/js/schema/property/holder.json index 164c93cf2..0dc1ae511 100644 --- a/dist/js/schema/property/holder.json +++ b/dist/js/schema/property/holder.json @@ -2053,19 +2053,182 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "io" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "subtype": { "enum": [ "input", @@ -2208,48 +2371,30 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -2262,6 +2407,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2272,29 +2421,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2302,29 +2439,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2332,29 +2457,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2362,29 +2475,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2394,6 +2495,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2414,28 +2526,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -2463,48 +2583,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -2517,6 +2622,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2527,29 +2636,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2557,29 +2654,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2587,29 +2672,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2617,29 +2690,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2649,6 +2710,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2669,31 +2741,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -2736,48 +2813,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -2790,6 +2848,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2800,29 +2862,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2830,29 +2880,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2860,29 +2898,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2890,29 +2916,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2922,6 +2936,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2942,65 +2967,24 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assertion" - ], - "description": "type of the unit", - "type": "string" + ] }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" }, "next": { "description": "Next unit's flowchartId. If empty, the current unit is the last.", @@ -3013,6 +2997,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -3025,6 +3040,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3035,29 +3054,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3065,29 +3072,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3095,29 +3090,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3125,29 +3108,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3157,6 +3128,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3177,34 +3159,73 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, "shortName": { "description": "The short name of the application. e.g. qe", "type": "string" @@ -3228,7 +3249,22 @@ "isLicensed": { "description": "Whether licensing is present", "type": "boolean" - }, + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -3253,20 +3289,78 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } }, "applicationId": { "description": "_ids of the application this executable belongs to", @@ -3278,7 +3372,23 @@ "hasAdvancedComputeOptions": { "description": "Whether advanced compute options are present", "type": "boolean" - }, + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -3295,6 +3405,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3305,29 +3419,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3335,29 +3437,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3365,29 +3455,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3395,38 +3473,19 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { + }, "executableId": { "description": "_id of the executable this flavor belongs to", "type": "string" @@ -3467,198 +3526,35 @@ "items": { "type": "string" } - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "name": { - "description": "entity name", - "type": "string" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } } } }, "input": { "description": "unit input (type to be specified by the application's execution unit)" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assignment unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "operand", + "postProcessors", + "preProcessors", + "results", + "type", + "value" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -3671,6 +3567,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3681,29 +3581,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3711,29 +3599,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3741,29 +3617,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3771,29 +3635,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3803,6 +3655,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3823,27 +3686,37 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assignment unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "operand", - "type", - "value" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assignment" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "scope": { "type": "string" }, "input": { @@ -3886,48 +3759,31 @@ "type": "number" } ] - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "monitors", + "name", + "operation", + "operationType", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -3940,6 +3796,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3950,29 +3810,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3980,29 +3828,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -4010,29 +3846,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4040,29 +3864,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -4072,6 +3884,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -4093,62 +3916,14 @@ } } }, - "scope": { - "type": "string" - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "processing unit schema", - "type": "object", - "required": [ - "flowchartId", - "inputData", - "operation", - "operationType", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "processing" ] }, "head": { @@ -4170,170 +3945,16 @@ "context": { "type": "object" }, - "slug": { - "description": "entity slug", + "operation": { + "description": "Contains information about the operation used.", "type": "string" }, - "systemName": { + "operationType": { + "description": "Contains information about the specific type of the operation used.", "type": "string" }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { - "type": "string" - }, - "repetition": { - "type": "number" - } - } - } + "inputData": { + "description": "unit input (type to be specified by the child units)" } } } @@ -4398,32 +4019,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -4448,6 +4051,30 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } }, @@ -4667,97 +4294,260 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "io" - ], - "description": "type of the unit", + "_id": { + "description": "entity identity", "type": "string" }, - "subtype": { - "enum": [ - "input", - "output", - "dataFrame" - ] + "slug": { + "description": "entity slug", + "type": "string" }, - "source": { - "enum": [ - "api", - "db", - "object_storage" - ] + "systemName": { + "type": "string" }, - "input": { + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", "type": "array", "items": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "data IO rest API input schema", - "type": "object", - "properties": { - "endpoint": { - "description": "rest API endpoint", - "type": "string" - }, - "endpoint_options": { - "description": "rest API endpoint options", - "type": "object" - }, - "name": { - "description": "the name of the variable in local scope to save the data under", - "type": "string" - } - }, - "required": [ - "endpoint", - "endpoint_options" - ], - "additionalProperties": true - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "data IO database input/output schema", - "type": "object", - "oneOf": [ - { - "properties": { - "ids": { - "description": "IDs of item to retrieve from db", - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "ids" - ], - "additionalProperties": true - }, - { - "properties": { - "collection": { - "description": "db collection name", - "type": "string" - }, - "draft": { - "description": "whether the result should be saved as draft", - "type": "boolean" - } - }, - "required": [ - "collection", - "draft" - ], - "additionalProperties": true + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "io" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "subtype": { + "enum": [ + "input", + "output", + "dataFrame" + ] + }, + "source": { + "enum": [ + "api", + "db", + "object_storage" + ] + }, + "input": { + "type": "array", + "items": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO rest API input schema", + "type": "object", + "properties": { + "endpoint": { + "description": "rest API endpoint", + "type": "string" + }, + "endpoint_options": { + "description": "rest API endpoint options", + "type": "object" + }, + "name": { + "description": "the name of the variable in local scope to save the data under", + "type": "string" + } + }, + "required": [ + "endpoint", + "endpoint_options" + ], + "additionalProperties": true + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO database input/output schema", + "type": "object", + "oneOf": [ + { + "properties": { + "ids": { + "description": "IDs of item to retrieve from db", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "ids" + ], + "additionalProperties": true + }, + { + "properties": { + "collection": { + "description": "db collection name", + "type": "string" + }, + "draft": { + "description": "whether the result should be saved as draft", + "type": "boolean" + } + }, + "required": [ + "collection", + "draft" + ], + "additionalProperties": true } ] }, @@ -4822,60 +4612,46 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" + "description": "entity identity", + "type": "string" }, - "isDraft": { - "type": "boolean" + "slug": { + "description": "entity slug", + "type": "string" }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "systemName": { "type": "string" }, - "status": { - "description": "Status of the unit.", + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" + "default": "2022.8.16" }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "name": { + "description": "entity name", "type": "string" }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -4886,29 +4662,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -4916,29 +4680,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -4946,29 +4698,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4976,29 +4716,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -5008,6 +4736,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -5028,28 +4767,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -5077,48 +4824,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -5131,6 +4863,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -5141,29 +4877,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -5171,29 +4895,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -5201,29 +4913,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -5231,29 +4931,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -5263,6 +4951,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -5283,31 +4982,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -5350,48 +5054,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -5404,6 +5089,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -5414,29 +5103,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -5444,29 +5121,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -5474,29 +5139,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -5504,29 +5157,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -5536,6 +5177,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -5556,56 +5208,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "assertion" - ], - "description": "type of the unit", - "type": "string" - }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" - }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "assertion" ] }, "head": { @@ -5627,6 +5238,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -5639,6 +5281,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -5649,29 +5295,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -5679,29 +5313,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -5709,29 +5331,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -5739,29 +5349,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -5771,6 +5369,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -5791,58 +5400,48 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -5867,221 +5466,46 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" }, - "applicationId": { - "description": "_ids of the application this executable belongs to", - "type": "array", - "items": { - "type": "string" - } - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { - "executableId": { - "description": "_id of the executable this flavor belongs to", + "shortName": { + "description": "The short name of the application. e.g. qe", "type": "string" }, - "executableName": { - "description": "name of the executable this flavor belongs to", + "summary": { + "description": "Application's short description.", "type": "string" }, - "applicationName": { - "description": "name of the application this flavor belongs to", + "version": { + "description": "Application version. e.g. 5.3.5", "type": "string" }, - "input": { - "title": "execution unit input schema", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit input id item schema for physics-based simulation engines", - "type": "object", - "additionalProperties": false, - "properties": { - "templateId": { - "type": "string" - }, - "templateName": { - "type": "string" - }, - "name": { - "description": "name of the resulting input file, if different than template name", - "type": "string" - } - } - } + "build": { + "description": "Application build. e.g. VTST", + "type": "string" }, - "supportedApplicationVersions": { - "description": "list of application versions this flavor supports", - "type": "array", - "items": { - "type": "string" - } + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -6112,29 +5536,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -6142,29 +5554,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -6172,29 +5572,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -6202,241 +5590,188 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } + } + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" } } }, - "input": { - "description": "unit input (type to be specified by the application's execution unit)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", "required": [ "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "execution unit input id item schema for physics-based simulation engines", "type": "object", + "additionalProperties": false, "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, "name": { - "description": "The name of this item. e.g. scf_accuracy", + "description": "name of the resulting input file, if different than template name", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { "type": "string" - }, - "repetition": { - "type": "number" } } } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)" } } }, @@ -6446,102 +5781,21 @@ "type": "object", "required": [ "flowchartId", + "monitors", "name", "operand", + "postProcessors", + "preProcessors", + "results", "type", "value" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "assignment" - ], - "description": "type of the unit", - "type": "string" - }, - "input": { - "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "workflow unit input schema", - "type": "object", - "required": [ - "scope", - "name" - ], - "properties": { - "scope": { - "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", - "type": "string" - }, - "name": { - "description": "Name of the input data. e.g. total_energy", - "type": "string" - } - } - } - }, - "operand": { - "description": "Name of the global variable. e.g. 'x'", - "type": "string" - }, - "value": { - "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", - "oneOf": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "number" - } - ] - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -6554,6 +5808,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -6564,29 +5822,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -6594,29 +5840,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -6624,29 +5858,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -6654,29 +5876,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -6686,6 +5896,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -6707,62 +5928,14 @@ } } }, - "scope": { - "type": "string" - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "processing unit schema", - "type": "object", - "required": [ - "flowchartId", - "inputData", - "operation", - "operationType", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "assignment" ] }, "head": { @@ -6784,6 +5957,74 @@ "context": { "type": "object" }, + "scope": { + "type": "string" + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + } + ] + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "monitors", + "name", + "operation", + "operationType", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -6796,6 +6037,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -6806,29 +6051,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -6836,59 +6069,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -6896,29 +6105,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -6928,6 +6125,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -6948,93 +6156,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "map unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "type", - "workflowId" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "map" - ], - "description": "type of the unit", - "type": "string" - }, - "workflowId": { - "description": "Id of workflow to run inside map", - "type": "string" - }, - "input": { - "description": "Input information for map.", - "type": "object", - "required": [ - "target" - ], - "properties": { - "target": { - "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", - "type": "string" - }, - "scope": { - "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", - "type": "string" - }, - "name": { - "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", - "type": "string" - }, - "values": { - "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - } - ] - } - }, - "useValues": { - "type": "boolean" - } - } - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "processing" ] }, "head": { @@ -7056,6 +6186,40 @@ "context": { "type": "object" }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "map unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type", + "workflowId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -7068,6 +6232,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -7078,29 +6246,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -7108,29 +6264,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -7138,59 +6282,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { "description": "names of the results for this calculation", "type": "array", "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -7200,6 +6320,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -7220,46 +6351,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "subworkflow unit schema", - "type": "object", - "required": [ - "type", - "flowchartId" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "subworkflow" - ], - "description": "type of the unit", - "type": "string" - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "map" ] }, "head": { @@ -7281,6 +6381,72 @@ "context": { "type": "object" }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + } + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "subworkflow unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -7293,6 +6459,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -7303,29 +6473,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -7333,29 +6491,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -7363,29 +6509,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -7393,29 +6527,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -7425,6 +6547,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -7445,6 +6578,35 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "subworkflow" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" } } } diff --git a/dist/js/schema/software/application.json b/dist/js/schema/software/application.json index 40e3ed819..4e479c7cb 100644 --- a/dist/js/schema/software/application.json +++ b/dist/js/schema/software/application.json @@ -3,32 +3,15 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "additionalProperties": true, "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -53,6 +36,30 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } } \ No newline at end of file diff --git a/dist/js/schema/software/application_properties.json b/dist/js/schema/software/application_properties.json new file mode 100644 index 000000000..d319ff335 --- /dev/null +++ b/dist/js/schema/software/application_properties.json @@ -0,0 +1,38 @@ +{ + "$id": "software/application-properties", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "application properties schema", + "type": "object", + "required": [ + "shortName", + "summary", + "version", + "build" + ], + "properties": { + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/dist/js/schema/software/executable.json b/dist/js/schema/software/executable.json index 5c3f34b47..6cf7fa617 100644 --- a/dist/js/schema/software/executable.json +++ b/dist/js/schema/software/executable.json @@ -4,24 +4,14 @@ "title": "executable schema", "type": "object", "required": [ - "name" + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" ], "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" - }, - "applicationId": { - "description": "_ids of the application this executable belongs to", - "type": "array", - "items": { - "type": "string" - } - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -38,6 +28,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -48,29 +42,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -78,29 +60,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -108,29 +78,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -138,30 +96,29 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } + } + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" } } } \ No newline at end of file diff --git a/dist/js/schema/software/executable_properties.json b/dist/js/schema/software/executable_properties.json new file mode 100644 index 000000000..a49da7c66 --- /dev/null +++ b/dist/js/schema/software/executable_properties.json @@ -0,0 +1,27 @@ +{ + "$id": "software/executable-properties", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable properties schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/dist/js/schema/software/flavor.json b/dist/js/schema/software/flavor.json index 4175c5214..4362ec5d6 100644 --- a/dist/js/schema/software/flavor.json +++ b/dist/js/schema/software/flavor.json @@ -3,48 +3,16 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "flavor schema", "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], "properties": { - "executableId": { - "description": "_id of the executable this flavor belongs to", - "type": "string" - }, - "executableName": { - "description": "name of the executable this flavor belongs to", - "type": "string" - }, - "applicationName": { - "description": "name of the application this flavor belongs to", - "type": "string" - }, - "input": { - "title": "execution unit input schema", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit input id item schema for physics-based simulation engines", - "type": "object", - "additionalProperties": false, - "properties": { - "templateId": { - "type": "string" - }, - "templateName": { - "type": "string" - }, - "name": { - "description": "name of the resulting input file, if different than template name", - "type": "string" - } - } - } - }, - "supportedApplicationVersions": { - "description": "list of application versions this flavor supports", - "type": "array", - "items": { - "type": "string" - } - }, "_id": { "description": "entity identity", "type": "string" @@ -75,29 +43,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -105,29 +61,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -135,29 +79,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -165,29 +97,58 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "additionalProperties": false, + "properties": { + "templateId": { + "type": "string" }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", "type": "string" } - ] + } + } + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { + "type": "string" } } } diff --git a/dist/js/schema/software/flavor_properties.json b/dist/js/schema/software/flavor_properties.json new file mode 100644 index 000000000..cae735816 --- /dev/null +++ b/dist/js/schema/software/flavor_properties.json @@ -0,0 +1,53 @@ +{ + "$id": "software/flavor-properties", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor properties schema", + "type": "object", + "required": [ + "executableId", + "input" + ], + "properties": { + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "additionalProperties": false, + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/dist/js/schema/software/template.json b/dist/js/schema/software/template.json index 282b2b04d..b5bbf840a 100644 --- a/dist/js/schema/software/template.json +++ b/dist/js/schema/software/template.json @@ -4,10 +4,33 @@ "title": "template schema", "type": "object", "required": [ + "applicationName", "content", + "contextProviders", + "executableName", "name" ], "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, "applicationName": { "type": "string" }, @@ -21,7 +44,7 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", "required": [ "name" @@ -37,10 +60,6 @@ "isManuallyChanged": { "type": "boolean" }, - "name": { - "description": "Input file name. e.g. pw_scf.in", - "type": "string" - }, "content": { "description": "Content of the input file. e.g. &CONTROL calculation='scf' ...", "type": "string" @@ -48,22 +67,6 @@ "rendered": { "description": "Rendered content of the input file. e.g. &CONTROL calculation='scf' ...", "type": "string" - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" } } } \ No newline at end of file diff --git a/dist/js/schema/software/template_properties.json b/dist/js/schema/software/template_properties.json new file mode 100644 index 000000000..88d13595d --- /dev/null +++ b/dist/js/schema/software/template_properties.json @@ -0,0 +1,56 @@ +{ + "$id": "software/template-properties", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "template properties schema", + "type": "object", + "required": [ + "applicationName", + "content", + "contextProviders", + "executableName", + "name" + ], + "properties": { + "applicationName": { + "type": "string" + }, + "applicationVersion": { + "type": "string" + }, + "executableName": { + "type": "string" + }, + "contextProviders": { + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "isManuallyChanged": { + "type": "boolean" + }, + "name": { + "description": "Input file name. e.g. pw_scf.in", + "type": "string" + }, + "content": { + "description": "Content of the input file. e.g. &CONTROL calculation='scf' ...", + "type": "string" + }, + "rendered": { + "description": "Rendered content of the input file. e.g. &CONTROL calculation='scf' ...", + "type": "string" + } + } +} \ No newline at end of file diff --git a/dist/js/schema/software_directory/modeling/deepmd.json b/dist/js/schema/software_directory/modeling/deepmd.json index b22c97510..7551547f8 100644 --- a/dist/js/schema/software_directory/modeling/deepmd.json +++ b/dist/js/schema/software_directory/modeling/deepmd.json @@ -3,6 +3,13 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "DeePMD app schema", "type": "object", + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "additionalProperties": true, "properties": { "name": { @@ -33,22 +40,6 @@ "python" ] }, - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -69,6 +60,22 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } } \ No newline at end of file diff --git a/dist/js/schema/software_directory/modeling/nwchem.json b/dist/js/schema/software_directory/modeling/nwchem.json index 674568b01..1ff0437e9 100644 --- a/dist/js/schema/software_directory/modeling/nwchem.json +++ b/dist/js/schema/software_directory/modeling/nwchem.json @@ -3,6 +3,13 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "NWChem", "type": "object", + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "additionalProperties": true, "properties": { "name": { @@ -32,22 +39,6 @@ "nwchem" ] }, - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -68,6 +59,22 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } } \ No newline at end of file diff --git a/dist/js/schema/software_directory/modeling/unit/execution.json b/dist/js/schema/software_directory/modeling/unit/execution.json index ef1e0366b..99a1e7821 100644 --- a/dist/js/schema/software_directory/modeling/unit/execution.json +++ b/dist/js/schema/software_directory/modeling/unit/execution.json @@ -7,47 +7,192 @@ "application", "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -72,6 +217,30 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } }, @@ -80,24 +249,14 @@ "title": "executable schema", "type": "object", "required": [ - "name" + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" ], "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" - }, - "applicationId": { - "description": "_ids of the application this executable belongs to", - "type": "array", - "items": { - "type": "string" - } - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -114,6 +273,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -124,29 +287,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -154,29 +305,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -184,29 +323,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -214,79 +341,46 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] - } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { - "executableId": { - "description": "_id of the executable this flavor belongs to", - "type": "string" - }, - "executableName": { - "description": "name of the executable this flavor belongs to", - "type": "string" - }, - "applicationName": { - "description": "name of the application this flavor belongs to", - "type": "string" - }, - "input": { - "title": "execution unit input schema", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit input id item schema for physics-based simulation engines", - "type": "object", - "additionalProperties": false, - "properties": { - "templateId": { - "type": "string" - }, - "templateName": { - "type": "string" - }, - "name": { - "description": "name of the resulting input file, if different than template name", - "type": "string" - } - } + } } }, - "supportedApplicationVersions": { - "description": "list of application versions this flavor supports", + "applicationId": { + "description": "_ids of the application this executable belongs to", "type": "array", "items": { "type": "string" } }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -317,29 +411,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -347,29 +429,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -377,29 +447,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -407,29 +465,58 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "additionalProperties": false, + "properties": { + "templateId": { + "type": "string" }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", "type": "string" } - ] + } + } + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { + "type": "string" } } } @@ -483,212 +570,6 @@ } ] } - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { - "type": "string" - }, - "repetition": { - "type": "number" - } - } - } } } } \ No newline at end of file diff --git a/dist/js/schema/software_directory/modeling/vasp.json b/dist/js/schema/software_directory/modeling/vasp.json index 9428e3f7e..abdbe0515 100644 --- a/dist/js/schema/software_directory/modeling/vasp.json +++ b/dist/js/schema/software_directory/modeling/vasp.json @@ -3,6 +3,13 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "vienna ab-inito simulation package", "type": "object", + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "additionalProperties": true, "properties": { "name": { @@ -38,22 +45,6 @@ "vasp" ] }, - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -74,6 +65,22 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } } \ No newline at end of file diff --git a/dist/js/schema/software_directory/scripting/jupyter_lab.json b/dist/js/schema/software_directory/scripting/jupyter_lab.json index a2e5de364..1ac1a00c4 100644 --- a/dist/js/schema/software_directory/scripting/jupyter_lab.json +++ b/dist/js/schema/software_directory/scripting/jupyter_lab.json @@ -3,6 +3,13 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Jupyter Lab Application Schema", "type": "object", + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "additionalProperties": true, "properties": { "name": { @@ -36,22 +43,6 @@ "jupyter" ] }, - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -72,6 +63,22 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } } \ No newline at end of file diff --git a/dist/js/schema/software_directory/scripting/python.json b/dist/js/schema/software_directory/scripting/python.json index 63d65befb..aa45a3da1 100644 --- a/dist/js/schema/software_directory/scripting/python.json +++ b/dist/js/schema/software_directory/scripting/python.json @@ -3,6 +3,13 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Python Programing Language Schema", "type": "object", + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "additionalProperties": true, "properties": { "name": { @@ -50,22 +57,6 @@ "description": "Optional Python dependencies, e.g. amqp==1.4.6", "type": "array" }, - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -86,6 +77,22 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } } \ No newline at end of file diff --git a/dist/js/schema/software_directory/scripting/shell.json b/dist/js/schema/software_directory/scripting/shell.json index 5c083b4df..ec19a2f8e 100644 --- a/dist/js/schema/software_directory/scripting/shell.json +++ b/dist/js/schema/software_directory/scripting/shell.json @@ -3,6 +3,13 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Shell Scripting Language Schema", "type": "object", + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "additionalProperties": true, "properties": { "name": { @@ -50,22 +57,6 @@ "description": "Optional environment variables exported before running the Shell script", "type": "object" }, - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -86,6 +77,22 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } } \ No newline at end of file diff --git a/dist/js/schema/software_directory/scripting/unit/execution.json b/dist/js/schema/software_directory/scripting/unit/execution.json index d771249a4..7114f0eb0 100644 --- a/dist/js/schema/software_directory/scripting/unit/execution.json +++ b/dist/js/schema/software_directory/scripting/unit/execution.json @@ -7,47 +7,192 @@ "application", "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -72,6 +217,30 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } }, @@ -80,24 +249,14 @@ "title": "executable schema", "type": "object", "required": [ - "name" + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" ], "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" - }, - "applicationId": { - "description": "_ids of the application this executable belongs to", - "type": "array", - "items": { - "type": "string" - } - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -114,6 +273,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -124,29 +287,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -154,29 +305,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -184,29 +323,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -214,79 +341,46 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] - } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { - "executableId": { - "description": "_id of the executable this flavor belongs to", - "type": "string" - }, - "executableName": { - "description": "name of the executable this flavor belongs to", - "type": "string" - }, - "applicationName": { - "description": "name of the application this flavor belongs to", - "type": "string" - }, - "input": { - "title": "execution unit input schema", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit input id item schema for physics-based simulation engines", - "type": "object", - "additionalProperties": false, - "properties": { - "templateId": { - "type": "string" - }, - "templateName": { - "type": "string" - }, - "name": { - "description": "name of the resulting input file, if different than template name", - "type": "string" - } - } + } } }, - "supportedApplicationVersions": { - "description": "list of application versions this flavor supports", + "applicationId": { + "description": "_ids of the application this executable belongs to", "type": "array", "items": { "type": "string" } }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -317,29 +411,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -347,29 +429,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -377,29 +447,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -407,29 +465,58 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "additionalProperties": false, + "properties": { + "templateId": { + "type": "string" }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", "type": "string" } - ] + } + } + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { + "type": "string" } } } @@ -483,212 +570,6 @@ } ] } - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { - "type": "string" - }, - "repetition": { - "type": "number" - } - } - } } } } \ No newline at end of file diff --git a/dist/js/schema/system/name.json b/dist/js/schema/system/name.json index 09342822f..bd23795aa 100644 --- a/dist/js/schema/system/name.json +++ b/dist/js/schema/system/name.json @@ -3,6 +3,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "name entity schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "entity name", diff --git a/dist/js/schema/system/path_entity.json b/dist/js/schema/system/path_entity.json index fb6f00185..52c8b70b2 100644 --- a/dist/js/schema/system/path_entity.json +++ b/dist/js/schema/system/path_entity.json @@ -3,6 +3,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "path entity schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "entity name", diff --git a/dist/js/schema/workflow/unit/runtime/_runtime_item_name_object.json b/dist/js/schema/system/runtime_item.json similarity index 74% rename from dist/js/schema/workflow/unit/runtime/_runtime_item_name_object.json rename to dist/js/schema/system/runtime_item.json index 4b18fc2f0..e9ccdb177 100644 --- a/dist/js/schema/workflow/unit/runtime/_runtime_item_name_object.json +++ b/dist/js/schema/system/runtime_item.json @@ -1,7 +1,7 @@ { - "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$id": "system/runtime-item", "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", "required": [ "name" diff --git a/dist/js/schema/system/runtime_items.json b/dist/js/schema/system/runtime_items.json new file mode 100644 index 000000000..162687421 --- /dev/null +++ b/dist/js/schema/system/runtime_items.json @@ -0,0 +1,86 @@ +{ + "$id": "system/runtime-items", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime items schema", + "type": "object", + "required": [ + "preProcessors", + "postProcessors", + "monitors", + "results" + ], + "properties": { + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow.json b/dist/js/schema/workflow.json index dfe8af994..a31023694 100644 --- a/dist/js/schema/workflow.json +++ b/dist/js/schema/workflow.json @@ -4,8 +4,9 @@ "title": "workflow schema", "type": "object", "required": [ - "units", - "subworkflows" + "name", + "subworkflows", + "units" ], "properties": { "subworkflows": { @@ -37,19 +38,182 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "io" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "subtype": { "enum": [ "input", @@ -192,48 +356,30 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -246,6 +392,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -256,29 +406,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -286,29 +424,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -316,29 +442,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -346,29 +460,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -378,6 +480,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -398,28 +511,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -447,48 +568,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -501,6 +607,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -511,29 +621,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -541,29 +639,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -571,29 +657,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -601,29 +675,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -633,6 +695,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -653,31 +726,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -720,48 +798,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -774,6 +833,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -784,29 +847,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -814,29 +865,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -844,29 +883,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -874,29 +901,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -906,6 +921,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -926,65 +952,24 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assertion" - ], - "description": "type of the unit", - "type": "string" + ] }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" }, "next": { "description": "Next unit's flowchartId. If empty, the current unit is the last.", @@ -997,6 +982,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -1009,6 +1025,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1019,29 +1039,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1049,29 +1057,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1079,29 +1075,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1109,29 +1093,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1141,6 +1113,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1161,34 +1144,73 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, "shortName": { "description": "The short name of the application. e.g. qe", "type": "string" @@ -1212,7 +1234,22 @@ "isLicensed": { "description": "Whether licensing is present", "type": "boolean" - }, + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1237,20 +1274,78 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } }, "applicationId": { "description": "_ids of the application this executable belongs to", @@ -1262,7 +1357,23 @@ "hasAdvancedComputeOptions": { "description": "Whether advanced compute options are present", "type": "boolean" - }, + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1279,6 +1390,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1289,29 +1404,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1319,29 +1422,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1349,29 +1440,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1379,38 +1458,19 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { + }, "executableId": { "description": "_id of the executable this flavor belongs to", "type": "string" @@ -1451,198 +1511,35 @@ "items": { "type": "string" } - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "name": { - "description": "entity name", - "type": "string" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } } } }, "input": { "description": "unit input (type to be specified by the application's execution unit)" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assignment unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "operand", + "postProcessors", + "preProcessors", + "results", + "type", + "value" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -1655,6 +1552,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1665,29 +1566,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1695,29 +1584,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1725,29 +1602,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1755,29 +1620,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1787,6 +1640,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1807,27 +1671,37 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assignment unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "operand", - "type", - "value" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assignment" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "scope": { "type": "string" }, "input": { @@ -1870,48 +1744,31 @@ "type": "number" } ] - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "monitors", + "name", + "operation", + "operationType", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -1924,6 +1781,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1934,29 +1795,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1964,29 +1813,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1994,29 +1831,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2024,29 +1849,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2056,6 +1869,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2077,62 +1901,14 @@ } } }, - "scope": { - "type": "string" - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "processing unit schema", - "type": "object", - "required": [ - "flowchartId", - "inputData", - "operation", - "operationType", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "processing" ] }, "head": { @@ -2154,170 +1930,16 @@ "context": { "type": "object" }, - "slug": { - "description": "entity slug", + "operation": { + "description": "Contains information about the operation used.", "type": "string" }, - "systemName": { + "operationType": { + "description": "Contains information about the specific type of the operation used.", "type": "string" }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { - "type": "string" - }, - "repetition": { - "type": "number" - } - } - } + "inputData": { + "description": "unit input (type to be specified by the child units)" } } } @@ -2382,32 +2004,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -2432,6 +2036,30 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } }, @@ -2651,97 +2279,260 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "io" - ], - "description": "type of the unit", + "_id": { + "description": "entity identity", "type": "string" }, - "subtype": { - "enum": [ - "input", - "output", - "dataFrame" - ] + "slug": { + "description": "entity slug", + "type": "string" }, - "source": { - "enum": [ - "api", - "db", - "object_storage" - ] + "systemName": { + "type": "string" }, - "input": { + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", "type": "array", "items": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "data IO rest API input schema", - "type": "object", - "properties": { - "endpoint": { - "description": "rest API endpoint", - "type": "string" - }, - "endpoint_options": { - "description": "rest API endpoint options", - "type": "object" - }, - "name": { - "description": "the name of the variable in local scope to save the data under", - "type": "string" - } - }, - "required": [ - "endpoint", - "endpoint_options" - ], - "additionalProperties": true - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "data IO database input/output schema", - "type": "object", - "oneOf": [ - { - "properties": { - "ids": { - "description": "IDs of item to retrieve from db", - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "ids" - ], - "additionalProperties": true - }, - { - "properties": { - "collection": { - "description": "db collection name", - "type": "string" - }, - "draft": { - "description": "whether the result should be saved as draft", - "type": "boolean" - } - }, - "required": [ - "collection", - "draft" - ], - "additionalProperties": true + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "io" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "subtype": { + "enum": [ + "input", + "output", + "dataFrame" + ] + }, + "source": { + "enum": [ + "api", + "db", + "object_storage" + ] + }, + "input": { + "type": "array", + "items": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO rest API input schema", + "type": "object", + "properties": { + "endpoint": { + "description": "rest API endpoint", + "type": "string" + }, + "endpoint_options": { + "description": "rest API endpoint options", + "type": "object" + }, + "name": { + "description": "the name of the variable in local scope to save the data under", + "type": "string" + } + }, + "required": [ + "endpoint", + "endpoint_options" + ], + "additionalProperties": true + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO database input/output schema", + "type": "object", + "oneOf": [ + { + "properties": { + "ids": { + "description": "IDs of item to retrieve from db", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "ids" + ], + "additionalProperties": true + }, + { + "properties": { + "collection": { + "description": "db collection name", + "type": "string" + }, + "draft": { + "description": "whether the result should be saved as draft", + "type": "boolean" + } + }, + "required": [ + "collection", + "draft" + ], + "additionalProperties": true } ] }, @@ -2806,60 +2597,46 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" + "description": "entity identity", + "type": "string" }, - "isDraft": { - "type": "boolean" + "slug": { + "description": "entity slug", + "type": "string" }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "systemName": { "type": "string" }, - "status": { - "description": "Status of the unit.", + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" + "default": "2022.8.16" }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "name": { + "description": "entity name", "type": "string" }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2870,29 +2647,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2900,29 +2665,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2930,29 +2683,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2960,29 +2701,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2992,6 +2721,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3012,28 +2752,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -3061,48 +2809,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -3115,6 +2848,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3125,29 +2862,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3155,29 +2880,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3185,29 +2898,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3215,29 +2916,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3247,6 +2936,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3267,31 +2967,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -3334,48 +3039,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -3388,6 +3074,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3398,29 +3088,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3428,29 +3106,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3458,29 +3124,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3488,29 +3142,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3520,6 +3162,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3540,56 +3193,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "assertion" - ], - "description": "type of the unit", - "type": "string" - }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" - }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "assertion" ] }, "head": { @@ -3611,6 +3223,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -3623,6 +3266,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -3633,29 +3280,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -3663,29 +3298,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -3693,29 +3316,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -3723,29 +3334,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -3755,6 +3354,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -3775,58 +3385,48 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -3851,221 +3451,46 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" }, - "applicationId": { - "description": "_ids of the application this executable belongs to", - "type": "array", - "items": { - "type": "string" - } - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { - "executableId": { - "description": "_id of the executable this flavor belongs to", + "shortName": { + "description": "The short name of the application. e.g. qe", "type": "string" }, - "executableName": { - "description": "name of the executable this flavor belongs to", + "summary": { + "description": "Application's short description.", "type": "string" }, - "applicationName": { - "description": "name of the application this flavor belongs to", + "version": { + "description": "Application version. e.g. 5.3.5", "type": "string" }, - "input": { - "title": "execution unit input schema", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit input id item schema for physics-based simulation engines", - "type": "object", - "additionalProperties": false, - "properties": { - "templateId": { - "type": "string" - }, - "templateName": { - "type": "string" - }, - "name": { - "description": "name of the resulting input file, if different than template name", - "type": "string" - } - } - } + "build": { + "description": "Application build. e.g. VTST", + "type": "string" }, - "supportedApplicationVersions": { - "description": "list of application versions this flavor supports", - "type": "array", - "items": { - "type": "string" - } + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -4096,29 +3521,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -4126,29 +3539,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -4156,29 +3557,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4186,241 +3575,188 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } + } + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" } } }, - "input": { - "description": "unit input (type to be specified by the application's execution unit)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", "required": [ "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", + "required": [ + "name" + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "execution unit input id item schema for physics-based simulation engines", "type": "object", + "additionalProperties": false, "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, "name": { - "description": "The name of this item. e.g. scf_accuracy", + "description": "name of the resulting input file, if different than template name", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { "type": "string" - }, - "repetition": { - "type": "number" } } } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)" } } }, @@ -4430,102 +3766,21 @@ "type": "object", "required": [ "flowchartId", + "monitors", "name", "operand", + "postProcessors", + "preProcessors", + "results", "type", "value" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "assignment" - ], - "description": "type of the unit", - "type": "string" - }, - "input": { - "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "workflow unit input schema", - "type": "object", - "required": [ - "scope", - "name" - ], - "properties": { - "scope": { - "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", - "type": "string" - }, - "name": { - "description": "Name of the input data. e.g. total_energy", - "type": "string" - } - } - } - }, - "operand": { - "description": "Name of the global variable. e.g. 'x'", - "type": "string" - }, - "value": { - "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", - "oneOf": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "number" - } - ] - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -4538,6 +3793,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -4548,29 +3807,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -4578,29 +3825,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -4608,29 +3843,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4638,29 +3861,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -4670,6 +3881,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -4691,62 +3913,14 @@ } } }, - "scope": { - "type": "string" - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "processing unit schema", - "type": "object", - "required": [ - "flowchartId", - "inputData", - "operation", - "operationType", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "assignment" ] }, "head": { @@ -4768,6 +3942,74 @@ "context": { "type": "object" }, + "scope": { + "type": "string" + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + } + ] + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "monitors", + "name", + "operation", + "operationType", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -4780,6 +4022,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -4790,29 +4036,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -4820,59 +4054,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -4880,29 +4090,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -4912,6 +4110,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -4932,93 +4141,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "map unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "type", - "workflowId" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "map" - ], - "description": "type of the unit", - "type": "string" - }, - "workflowId": { - "description": "Id of workflow to run inside map", - "type": "string" - }, - "input": { - "description": "Input information for map.", - "type": "object", - "required": [ - "target" - ], - "properties": { - "target": { - "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", - "type": "string" - }, - "scope": { - "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", - "type": "string" - }, - "name": { - "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", - "type": "string" - }, - "values": { - "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - } - ] - } - }, - "useValues": { - "type": "boolean" - } - } - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "processing" ] }, "head": { @@ -5040,6 +4171,40 @@ "context": { "type": "object" }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "map unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type", + "workflowId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -5052,6 +4217,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -5062,29 +4231,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -5092,29 +4249,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -5122,59 +4267,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { "description": "names of the results for this calculation", "type": "array", "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -5184,6 +4305,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -5204,46 +4336,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "subworkflow unit schema", - "type": "object", - "required": [ - "type", - "flowchartId" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "subworkflow" - ], - "description": "type of the unit", - "type": "string" - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "map" ] }, "head": { @@ -5265,6 +4366,72 @@ "context": { "type": "object" }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + } + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "subworkflow unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -5277,6 +4444,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -5287,29 +4458,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -5317,29 +4476,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -5347,29 +4494,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -5377,29 +4512,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -5409,6 +4532,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -5429,6 +4563,35 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "subworkflow" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" } } } diff --git a/dist/js/schema/workflow/base.json b/dist/js/schema/workflow/base.json index 513a582b4..bb6206a15 100644 --- a/dist/js/schema/workflow/base.json +++ b/dist/js/schema/workflow/base.json @@ -3,6 +3,9 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "base workflow schema", "type": "object", + "required": [ + "name" + ], "properties": { "properties": { "description": "Array of characteristic properties calculated by this workflow (TODO: add enums)", diff --git a/dist/js/schema/workflow/subworkflow.json b/dist/js/schema/workflow/subworkflow.json index 2f7b21fd5..e409e9ddc 100644 --- a/dist/js/schema/workflow/subworkflow.json +++ b/dist/js/schema/workflow/subworkflow.json @@ -25,19 +25,182 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "io" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "subtype": { "enum": [ "input", @@ -180,48 +343,30 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -234,6 +379,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -244,29 +393,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -274,29 +411,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -304,29 +429,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -334,29 +447,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -366,6 +467,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -386,28 +498,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -435,48 +555,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -489,6 +594,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -499,29 +608,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -529,29 +626,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -559,29 +644,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -589,29 +662,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -621,6 +682,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -641,31 +713,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -708,48 +785,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -762,6 +820,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -772,29 +834,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -802,29 +852,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -832,29 +870,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -862,29 +888,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -894,6 +908,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -914,65 +939,24 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assertion" - ], - "description": "type of the unit", - "type": "string" + ] }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" }, "next": { "description": "Next unit's flowchartId. If empty, the current unit is the last.", @@ -985,6 +969,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -997,6 +1012,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1007,29 +1026,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1037,29 +1044,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1067,29 +1062,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1097,29 +1080,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1129,6 +1100,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1149,34 +1131,73 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, "shortName": { "description": "The short name of the application. e.g. qe", "type": "string" @@ -1200,7 +1221,22 @@ "isLicensed": { "description": "Whether licensing is present", "type": "boolean" - }, + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1225,20 +1261,78 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } }, "applicationId": { "description": "_ids of the application this executable belongs to", @@ -1250,7 +1344,23 @@ "hasAdvancedComputeOptions": { "description": "Whether advanced compute options are present", "type": "boolean" - }, + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1267,6 +1377,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1277,29 +1391,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1307,29 +1409,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1337,29 +1427,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1367,38 +1445,19 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { + }, "executableId": { "description": "_id of the executable this flavor belongs to", "type": "string" @@ -1439,198 +1498,35 @@ "items": { "type": "string" } - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "name": { - "description": "entity name", - "type": "string" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } } } }, "input": { "description": "unit input (type to be specified by the application's execution unit)" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assignment unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "operand", + "postProcessors", + "preProcessors", + "results", + "type", + "value" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -1643,6 +1539,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1653,29 +1553,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1683,29 +1571,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1713,29 +1589,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1743,29 +1607,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1775,6 +1627,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1795,27 +1658,37 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assignment unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "operand", - "type", - "value" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assignment" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "scope": { "type": "string" }, "input": { @@ -1858,215 +1731,6 @@ "type": "number" } ] - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { - "type": "string" - }, - "repetition": { - "type": "number" - } - } - } - }, - "scope": { - "type": "string" } } }, @@ -2077,71 +1741,21 @@ "required": [ "flowchartId", "inputData", + "monitors", + "name", "operation", "operationType", + "postProcessors", + "preProcessors", + "results", "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -2154,6 +1768,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2164,29 +1782,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2194,29 +1800,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2224,29 +1818,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2254,29 +1836,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2286,6 +1856,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2306,6 +1887,46 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "processing" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" } } } @@ -2370,32 +1991,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -2420,6 +2023,30 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } }, diff --git a/dist/js/schema/workflow/subworkflow/unit.json b/dist/js/schema/workflow/subworkflow/unit.json index 88c86f06b..99cda8d9a 100644 --- a/dist/js/schema/workflow/subworkflow/unit.json +++ b/dist/js/schema/workflow/subworkflow/unit.json @@ -11,19 +11,182 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "io" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "subtype": { "enum": [ "input", @@ -166,48 +329,30 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -220,6 +365,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -230,29 +379,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -260,29 +397,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -290,29 +415,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -320,29 +433,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -352,6 +453,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -372,28 +484,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -421,48 +541,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -475,6 +580,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -485,29 +594,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -515,29 +612,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -545,29 +630,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -575,29 +648,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -607,6 +668,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -627,31 +699,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -694,48 +771,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -748,6 +806,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -758,29 +820,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -788,29 +838,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -818,29 +856,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -848,29 +874,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -880,6 +894,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -900,65 +925,24 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assertion" - ], - "description": "type of the unit", - "type": "string" + ] }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" }, "next": { "description": "Next unit's flowchartId. If empty, the current unit is the last.", @@ -971,6 +955,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -983,6 +998,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -993,29 +1012,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1023,29 +1030,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1053,29 +1048,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1083,29 +1066,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1115,6 +1086,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1135,34 +1117,73 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, "shortName": { "description": "The short name of the application. e.g. qe", "type": "string" @@ -1186,7 +1207,22 @@ "isLicensed": { "description": "Whether licensing is present", "type": "boolean" - }, + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1211,20 +1247,78 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } }, "applicationId": { "description": "_ids of the application this executable belongs to", @@ -1236,7 +1330,23 @@ "hasAdvancedComputeOptions": { "description": "Whether advanced compute options are present", "type": "boolean" - }, + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1253,6 +1363,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1263,29 +1377,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1293,29 +1395,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1323,29 +1413,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1353,38 +1431,19 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { + }, "executableId": { "description": "_id of the executable this flavor belongs to", "type": "string" @@ -1425,198 +1484,35 @@ "items": { "type": "string" } - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "name": { - "description": "entity name", - "type": "string" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } } } }, "input": { "description": "unit input (type to be specified by the application's execution unit)" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assignment unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "operand", + "postProcessors", + "preProcessors", + "results", + "type", + "value" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "description": "entity identity", "type": "string" }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -1629,6 +1525,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1639,29 +1539,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1669,29 +1557,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1699,29 +1575,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1729,29 +1593,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1761,6 +1613,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1781,90 +1644,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assignment unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "operand", - "type", - "value" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "assignment" - ], - "description": "type of the unit", - "type": "string" - }, - "input": { - "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "workflow unit input schema", - "type": "object", - "required": [ - "scope", - "name" - ], - "properties": { - "scope": { - "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", - "type": "string" - }, - "name": { - "description": "Name of the input data. e.g. total_energy", - "type": "string" - } - } - } - }, - "operand": { - "description": "Name of the global variable. e.g. 'x'", - "type": "string" - }, - "value": { - "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", - "oneOf": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "number" - } - ] - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "assignment" ] }, "head": { @@ -1879,180 +1667,56 @@ "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } + "context": { + "type": "object" }, - "statusTrack": { + "scope": { + "type": "string" + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", "type": "array", "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow unit input schema", "type": "object", "required": [ - "trackedAt", - "status" + "scope", + "name" ], "properties": { - "trackedAt": { - "type": "number" - }, - "status": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", "type": "string" }, - "repetition": { - "type": "number" + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" } } } }, - "scope": { + "operand": { + "description": "Name of the global variable. e.g. 'x'", "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + } + ] } } }, @@ -2063,71 +1727,21 @@ "required": [ "flowchartId", "inputData", + "monitors", + "name", "operation", "operationType", + "postProcessors", + "preProcessors", + "results", "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -2140,6 +1754,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2150,29 +1768,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2180,29 +1786,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2210,29 +1804,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2240,29 +1822,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2272,6 +1842,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2292,6 +1873,46 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "processing" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" } } } diff --git a/dist/js/schema/workflow/unit.json b/dist/js/schema/workflow/unit.json index 904e29d4e..3028d772a 100644 --- a/dist/js/schema/workflow/unit.json +++ b/dist/js/schema/workflow/unit.json @@ -11,19 +11,182 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "io" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "subtype": { "enum": [ "input", @@ -166,48 +329,30 @@ } ] } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -220,6 +365,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -230,29 +379,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -260,29 +397,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -290,29 +415,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -320,29 +433,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -352,6 +453,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -372,28 +484,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "reduce unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "mapFlowchartId", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "reduce" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "mapFlowchartId": { "description": "corresponding map unit flowchart ID", "type": "string" @@ -421,48 +541,33 @@ } } } - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -475,6 +580,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -485,29 +594,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -515,29 +612,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -545,29 +630,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -575,29 +648,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -607,6 +668,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -627,31 +699,36 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "condition unit schema", - "type": "object", - "required": [ - "else", - "flowchartId", - "input", - "maxOccurrences", - "statement", - "then", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "condition" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "input": { "description": "Input information for condition.", "type": "array", @@ -694,48 +771,29 @@ "throwException": { "description": "Throw exception on reaching to maximum occurence.", "type": "boolean" - }, + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -748,6 +806,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -758,29 +820,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -788,29 +838,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -818,29 +856,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -848,29 +874,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -880,6 +894,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -900,65 +925,24 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "assertion unit schema", - "type": "object", - "required": [ - "flowchartId", - "name", - "statement", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "assertion" - ], - "description": "type of the unit", - "type": "string" + ] }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" }, "next": { "description": "Next unit's flowchartId. If empty, the current unit is the last.", @@ -971,6 +955,37 @@ "context": { "type": "object" }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -983,6 +998,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -993,29 +1012,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1023,29 +1030,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1053,29 +1048,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1083,29 +1066,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -1115,6 +1086,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -1135,34 +1117,73 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit schema (base)", - "type": "object", - "required": [ - "application", - "flowchartId", - "input", - "type" - ], - "additionalProperties": true, - "properties": { + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, "shortName": { "description": "The short name of the application. e.g. qe", "type": "string" @@ -1186,7 +1207,22 @@ "isLicensed": { "description": "Whether licensing is present", "type": "boolean" - }, + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1211,20 +1247,78 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false - } - } - }, - "executable": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "executable schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } }, "applicationId": { "description": "_ids of the application this executable belongs to", @@ -1236,7 +1330,23 @@ "hasAdvancedComputeOptions": { "description": "Whether advanced compute options are present", "type": "boolean" - }, + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -1253,6 +1363,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1263,29 +1377,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -1293,29 +1395,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1323,29 +1413,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1353,38 +1431,19 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { + }, "executableId": { "description": "_id of the executable this flavor belongs to", "type": "string" @@ -1425,362 +1484,11 @@ "items": { "type": "string" } - }, - "_id": { - "description": "entity identity", - "type": "string" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "name": { - "description": "entity name", - "type": "string" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } } } }, "input": { "description": "unit input (type to be specified by the application's execution unit)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { - "type": "string" - }, - "repetition": { - "type": "number" - } - } - } } } }, @@ -1790,102 +1498,21 @@ "type": "object", "required": [ "flowchartId", + "monitors", "name", "operand", + "postProcessors", + "preProcessors", + "results", "type", "value" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "assignment" - ], - "description": "type of the unit", - "type": "string" - }, - "input": { - "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "workflow unit input schema", - "type": "object", - "required": [ - "scope", - "name" - ], - "properties": { - "scope": { - "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", - "type": "string" - }, - "name": { - "description": "Name of the input data. e.g. total_energy", - "type": "string" - } - } - } - }, - "operand": { - "description": "Name of the global variable. e.g. 'x'", - "type": "string" - }, - "value": { - "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", - "oneOf": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "number" - } - ] - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -1898,6 +1525,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -1908,59 +1539,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { "description": "names of the post-processors for this calculation", "type": "array", "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -1968,29 +1575,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -1998,29 +1593,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2030,6 +1613,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2051,62 +1645,14 @@ } } }, - "scope": { - "type": "string" - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "processing unit schema", - "type": "object", - "required": [ - "flowchartId", - "inputData", - "operation", - "operationType", - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "assignment" ] }, "head": { @@ -2128,6 +1674,74 @@ "context": { "type": "object" }, + "scope": { + "type": "string" + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + } + ] + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "monitors", + "name", + "operation", + "operationType", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -2140,6 +1754,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2150,29 +1768,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2180,59 +1786,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2240,29 +1822,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2272,6 +1842,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2292,93 +1873,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "map unit schema", - "type": "object", - "required": [ - "flowchartId", - "input", - "type", - "workflowId" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "map" - ], - "description": "type of the unit", - "type": "string" - }, - "workflowId": { - "description": "Id of workflow to run inside map", - "type": "string" - }, - "input": { - "description": "Input information for map.", - "type": "object", - "required": [ - "target" - ], - "properties": { - "target": { - "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", - "type": "string" - }, - "scope": { - "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", - "type": "string" - }, - "name": { - "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", - "type": "string" - }, - "values": { - "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - } - ] - } - }, - "useValues": { - "type": "boolean" - } - } - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "processing" ] }, "head": { @@ -2400,6 +1903,40 @@ "context": { "type": "object" }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "map unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type", + "workflowId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -2412,6 +1949,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2422,29 +1963,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2452,29 +1981,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2482,59 +1999,35 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2544,6 +2037,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2564,46 +2068,15 @@ } } } - } - } - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "subworkflow unit schema", - "type": "object", - "required": [ - "type", - "flowchartId" - ], - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "subworkflow" - ], - "description": "type of the unit", - "type": "string" - }, - "_id": { - "type": "string", - "description": "entity identity" }, "isDraft": { "type": "boolean" }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", + "type": { + "description": "type of the unit", "type": "string", "enum": [ - "idle", - "active", - "warning", - "error", - "finished" + "map" ] }, "head": { @@ -2625,6 +2098,72 @@ "context": { "type": "object" }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + } + } + } + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "subworkflow unit schema", + "type": "object", + "required": [ + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" + ], + "additionalProperties": true, + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, "slug": { "description": "entity slug", "type": "string" @@ -2637,6 +2176,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -2647,29 +2190,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -2677,29 +2208,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -2707,29 +2226,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -2737,29 +2244,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -2769,6 +2264,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -2789,6 +2295,35 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "subworkflow" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" } } } diff --git a/dist/js/schema/workflow/unit/assertion.json b/dist/js/schema/workflow/unit/assertion.json index 792d85077..76a33457b 100644 --- a/dist/js/schema/workflow/unit/assertion.json +++ b/dist/js/schema/workflow/unit/assertion.json @@ -5,68 +5,20 @@ "type": "object", "required": [ "flowchartId", + "monitors", "name", + "postProcessors", + "preProcessors", + "results", "statement", "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "assertion" - ], - "description": "type of the unit", - "type": "string" - }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" - }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -79,6 +31,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -89,29 +45,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -119,29 +63,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -149,29 +81,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -179,29 +99,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -211,6 +119,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -231,6 +150,43 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "assertion" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" } } } \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/assignment.json b/dist/js/schema/workflow/unit/assignment.json index 08575b69b..ecce3e4d8 100644 --- a/dist/js/schema/workflow/unit/assignment.json +++ b/dist/js/schema/workflow/unit/assignment.json @@ -5,102 +5,21 @@ "type": "object", "required": [ "flowchartId", + "monitors", "name", "operand", + "postProcessors", + "preProcessors", + "results", "type", "value" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "assignment" - ], - "description": "type of the unit", - "type": "string" - }, - "input": { - "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "workflow unit input schema", - "type": "object", - "required": [ - "scope", - "name" - ], - "properties": { - "scope": { - "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", - "type": "string" - }, - "name": { - "description": "Name of the input data. e.g. total_energy", - "type": "string" - } - } - } - }, - "operand": { - "description": "Name of the global variable. e.g. 'x'", - "type": "string" - }, - "value": { - "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", - "oneOf": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "number" - } - ] - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -113,6 +32,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -123,29 +46,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -153,29 +64,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -183,29 +82,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -213,29 +100,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -245,6 +120,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -266,8 +152,78 @@ } } }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "assignment" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "scope": { "type": "string" + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + } + ] } } } \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/base.json b/dist/js/schema/workflow/unit/base.json index e2fb0c310..320cffda5 100644 --- a/dist/js/schema/workflow/unit/base.json +++ b/dist/js/schema/workflow/unit/base.json @@ -4,56 +4,20 @@ "title": "workflow base unit schema", "type": "object", "required": [ - "type", - "flowchartId" + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" ], "additionalProperties": true, "properties": { "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "type": { - "description": "type of the unit", - "type": "string" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "description": "entity identity", "type": "string" }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -66,6 +30,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -76,29 +44,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -106,29 +62,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -136,29 +80,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -166,29 +98,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -198,6 +118,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -218,6 +149,32 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string" + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" } } } \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/condition.json b/dist/js/schema/workflow/unit/condition.json index 8e0289ddb..02ae2f49e 100644 --- a/dist/js/schema/workflow/unit/condition.json +++ b/dist/js/schema/workflow/unit/condition.json @@ -8,103 +8,21 @@ "flowchartId", "input", "maxOccurrences", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "statement", "then", "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "condition" - ], - "description": "type of the unit", - "type": "string" - }, - "input": { - "description": "Input information for condition.", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "workflow unit input schema", - "type": "object", - "required": [ - "scope", - "name" - ], - "properties": { - "scope": { - "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", - "type": "string" - }, - "name": { - "description": "Name of the input data. e.g. total_energy", - "type": "string" - } - } - } - }, - "statement": { - "description": "Condition statement. e.g. 'abs(x-total_energy) < 1e-5'", - "type": "string" - }, - "then": { - "description": "Flowchart ID reference for `then` part of the condition.", - "type": "string" - }, - "else": { - "description": "Flowchart ID reference for `else` part of the condition.", - "type": "string" - }, - "maxOccurrences": { - "description": "Maximum occurrence of the condition, usable for loops.", - "type": "integer" - }, - "throwException": { - "description": "Throw exception on reaching to maximum occurence.", - "type": "boolean" - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "description": "entity identity", "type": "string" }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -117,6 +35,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -127,29 +49,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -157,29 +67,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -187,29 +85,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -217,29 +103,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -249,6 +123,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -269,6 +154,78 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "condition" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "input": { + "description": "Input information for condition.", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "statement": { + "description": "Condition statement. e.g. 'abs(x-total_energy) < 1e-5'", + "type": "string" + }, + "then": { + "description": "Flowchart ID reference for `then` part of the condition.", + "type": "string" + }, + "else": { + "description": "Flowchart ID reference for `else` part of the condition.", + "type": "string" + }, + "maxOccurrences": { + "description": "Maximum occurrence of the condition, usable for loops.", + "type": "integer" + }, + "throwException": { + "description": "Throw exception on reaching to maximum occurence.", + "type": "boolean" } } } \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/execution.json b/dist/js/schema/workflow/unit/execution.json index 2e7715169..0a23c1ba8 100644 --- a/dist/js/schema/workflow/unit/execution.json +++ b/dist/js/schema/workflow/unit/execution.json @@ -7,47 +7,192 @@ "application", "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "execution" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", "type": "string" }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "application": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "application schema (base)", "type": "object", - "additionalProperties": true, + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" - }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -72,6 +217,30 @@ "description": "Identifies that entity is defaultable", "type": "boolean", "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" } } }, @@ -80,24 +249,14 @@ "title": "executable schema", "type": "object", "required": [ - "name" + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" ], "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" - }, - "applicationId": { - "description": "_ids of the application this executable belongs to", - "type": "array", - "items": { - "type": "string" - } - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, "_id": { "description": "entity identity", "type": "string" @@ -114,6 +273,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -124,29 +287,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -154,29 +305,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -184,29 +323,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -214,79 +341,46 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - } - } - }, - "flavor": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "flavor schema", - "type": "object", - "properties": { - "executableId": { - "description": "_id of the executable this flavor belongs to", - "type": "string" - }, - "executableName": { - "description": "name of the executable this flavor belongs to", - "type": "string" - }, - "applicationName": { - "description": "name of the application this flavor belongs to", - "type": "string" - }, - "input": { - "title": "execution unit input schema", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "execution unit input id item schema for physics-based simulation engines", + "title": "runtime item name object schema", "type": "object", - "additionalProperties": false, + "required": [ + "name" + ], "properties": { - "templateId": { - "type": "string" - }, - "templateName": { - "type": "string" - }, "name": { - "description": "name of the resulting input file, if different than template name", + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } } } }, - "supportedApplicationVersions": { - "description": "list of application versions this flavor supports", + "applicationId": { + "description": "_ids of the application this executable belongs to", "type": "array", "items": { "type": "string" } }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { "_id": { "description": "entity identity", "type": "string" @@ -317,29 +411,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -347,29 +429,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -377,29 +447,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -407,241 +465,64 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - } - } - }, - "input": { - "description": "unit input (type to be specified by the application's execution unit)" - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, "required": [ "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", + ], "properties": { "name": { "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "execution unit input id item schema for physics-based simulation engines", "type": "object", + "additionalProperties": false, "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", + "templateId": { "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { + }, + "templateName": { + "type": "string" + }, "name": { - "description": "The name of this item. e.g. scf_accuracy", + "description": "name of the resulting input file, if different than template name", "type": "string" } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" + } } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { "type": "string" - }, - "repetition": { - "type": "number" } } } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)" } } } \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/io.json b/dist/js/schema/workflow/unit/io.json index faddcc79a..1ae55b2d0 100644 --- a/dist/js/schema/workflow/unit/io.json +++ b/dist/js/schema/workflow/unit/io.json @@ -6,19 +6,182 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "source", "subtype", "type" ], "additionalProperties": true, "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + }, + "isDraft": { + "type": "boolean" + }, "type": { + "description": "type of the unit", + "type": "string", "enum": [ "io" - ], - "description": "type of the unit", + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", "type": "string" }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, "subtype": { "enum": [ "input", @@ -161,212 +324,6 @@ } ] } - }, - "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, - "slug": { - "description": "entity slug", - "type": "string" - }, - "systemName": { - "type": "string" - }, - "schemaVersion": { - "description": "entity's schema version. Used to distinct between different schemas.", - "type": "string", - "default": "2022.8.16" - }, - "isDefault": { - "description": "Identifies that entity is defaultable", - "type": "boolean", - "default": false - }, - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "tags": { - "description": "entity tags", - "type": "array", - "items": { - "type": "string" - } - }, - "statusTrack": { - "type": "array", - "items": { - "type": "object", - "required": [ - "trackedAt", - "status" - ], - "properties": { - "trackedAt": { - "type": "number" - }, - "status": { - "type": "string" - }, - "repetition": { - "type": "number" - } - } - } } } } \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/map.json b/dist/js/schema/workflow/unit/map.json index 9a508145c..3d7b0ff61 100644 --- a/dist/js/schema/workflow/unit/map.json +++ b/dist/js/schema/workflow/unit/map.json @@ -6,104 +6,20 @@ "required": [ "flowchartId", "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "type", "workflowId" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "map" - ], - "description": "type of the unit", - "type": "string" - }, - "workflowId": { - "description": "Id of workflow to run inside map", - "type": "string" - }, - "input": { - "description": "Input information for map.", - "type": "object", - "required": [ - "target" - ], - "properties": { - "target": { - "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", - "type": "string" - }, - "scope": { - "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", - "type": "string" - }, - "name": { - "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", - "type": "string" - }, - "values": { - "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - } - ] - } - }, - "useValues": { - "type": "boolean" - } - } - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -116,6 +32,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -126,29 +46,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -156,29 +64,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -186,29 +82,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -216,29 +100,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -248,6 +120,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -268,6 +151,80 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "map" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + } } } } \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/mixins/assertion.json b/dist/js/schema/workflow/unit/mixins/assertion.json new file mode 100644 index 000000000..9de94e7f0 --- /dev/null +++ b/dist/js/schema/workflow/unit/mixins/assertion.json @@ -0,0 +1,25 @@ +{ + "$id": "workflow/unit/mixins/assertion", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit mixin schema", + "type": "object", + "required": [ + "name", + "statement" + ], + "properties": { + "type": { + "enum": [ + "assertion" + ] + }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/mixins/assignment.json b/dist/js/schema/workflow/unit/mixins/assignment.json new file mode 100644 index 000000000..c7a99f741 --- /dev/null +++ b/dist/js/schema/workflow/unit/mixins/assignment.json @@ -0,0 +1,59 @@ +{ + "$id": "workflow/unit/mixins/assignment", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assignment unit mixin schema", + "type": "object", + "required": [ + "name", + "operand", + "value" + ], + "properties": { + "type": { + "enum": [ + "assignment" + ] + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + } + ] + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/mixins/base.json b/dist/js/schema/workflow/unit/mixins/base.json new file mode 100644 index 000000000..3ff56d49e --- /dev/null +++ b/dist/js/schema/workflow/unit/mixins/base.json @@ -0,0 +1,54 @@ +{ + "$id": "workflow/unit/mixins/base", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow base unit mixin schema", + "type": "object", + "required": [ + "type", + "flowchartId" + ], + "additionalProperties": true, + "properties": { + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/mixins/condition.json b/dist/js/schema/workflow/unit/mixins/condition.json new file mode 100644 index 000000000..55d2a021c --- /dev/null +++ b/dist/js/schema/workflow/unit/mixins/condition.json @@ -0,0 +1,63 @@ +{ + "$id": "workflow/unit/mixins/condition", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit mixin schema", + "type": "object", + "required": [ + "input", + "statement", + "then", + "else", + "maxOccurrences" + ], + "properties": { + "type": { + "enum": [ + "condition" + ] + }, + "input": { + "description": "Input information for condition.", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "statement": { + "description": "Condition statement. e.g. 'abs(x-total_energy) < 1e-5'", + "type": "string" + }, + "then": { + "description": "Flowchart ID reference for `then` part of the condition.", + "type": "string" + }, + "else": { + "description": "Flowchart ID reference for `else` part of the condition.", + "type": "string" + }, + "maxOccurrences": { + "description": "Maximum occurrence of the condition, usable for loops.", + "type": "integer" + }, + "throwException": { + "description": "Throw exception on reaching to maximum occurence.", + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/mixins/execution.json b/dist/js/schema/workflow/unit/mixins/execution.json new file mode 100644 index 000000000..47d6c638e --- /dev/null +++ b/dist/js/schema/workflow/unit/mixins/execution.json @@ -0,0 +1,360 @@ +{ + "$id": "workflow/unit/mixins/execution", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit mixin schema", + "type": "object", + "required": [ + "input", + "application" + ], + "properties": { + "type": { + "enum": [ + "execution" + ] + }, + "application": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "build", + "name", + "shortName", + "summary", + "version" + ], + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "applicationId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + } + } + }, + "flavor": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "executableId", + "input", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results" + ], + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "additionalProperties": false, + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)" + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/mixins/io.json b/dist/js/schema/workflow/unit/mixins/io.json new file mode 100644 index 000000000..d6c4c03ac --- /dev/null +++ b/dist/js/schema/workflow/unit/mixins/io.json @@ -0,0 +1,161 @@ +{ + "$id": "workflow/unit/mixins/io", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO unit mixin schema", + "type": "object", + "required": [ + "subtype", + "source", + "input" + ], + "properties": { + "type": { + "enum": [ + "io" + ] + }, + "subtype": { + "enum": [ + "input", + "output", + "dataFrame" + ] + }, + "source": { + "enum": [ + "api", + "db", + "object_storage" + ] + }, + "input": { + "type": "array", + "items": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO rest API input schema", + "type": "object", + "properties": { + "endpoint": { + "description": "rest API endpoint", + "type": "string" + }, + "endpoint_options": { + "description": "rest API endpoint options", + "type": "object" + }, + "name": { + "description": "the name of the variable in local scope to save the data under", + "type": "string" + } + }, + "required": [ + "endpoint", + "endpoint_options" + ], + "additionalProperties": true + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO database input/output schema", + "type": "object", + "oneOf": [ + { + "properties": { + "ids": { + "description": "IDs of item to retrieve from db", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "ids" + ], + "additionalProperties": true + }, + { + "properties": { + "collection": { + "description": "db collection name", + "type": "string" + }, + "draft": { + "description": "whether the result should be saved as draft", + "type": "boolean" + } + }, + "required": [ + "collection", + "draft" + ], + "additionalProperties": true + } + ] + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "object_storage io schema", + "type": "object", + "required": [ + "objectData" + ], + "additionalProperties": true, + "properties": { + "objectData": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Object Storage Container Data", + "type": "object", + "properties": { + "CONTAINER": { + "description": "Object storage container for the file", + "type": "string" + }, + "NAME": { + "description": "Name of the file inside the object storage bucket", + "type": "string" + }, + "PROVIDER": { + "description": "Object storage provider", + "type": "string" + }, + "REGION": { + "description": "Region for the object container specified in Container", + "type": "string" + }, + "SIZE": { + "description": "Size of the file in bytes", + "type": "integer" + }, + "TIMESTAMP": { + "description": "Unix timestamp showing when the file was last modified", + "type": "string" + } + } + }, + "overwrite": { + "description": "if a file with the same filename already exists, whether to overwrite the old file", + "type": "boolean" + }, + "pathname": { + "description": "Relative path to the directory that contains the file.", + "type": "string" + }, + "basename": { + "description": "Basename of the file", + "type": "string", + "$comment": "isGenerative:true" + }, + "filetype": { + "description": "What kind of file this is, e.g. image / text", + "type": "string" + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/mixins/map.json b/dist/js/schema/workflow/unit/mixins/map.json new file mode 100644 index 000000000..b0081ea42 --- /dev/null +++ b/dist/js/schema/workflow/unit/mixins/map.json @@ -0,0 +1,62 @@ +{ + "$id": "workflow/unit/mixins/map", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "map unit mixin schema", + "type": "object", + "required": [ + "input", + "workflowId" + ], + "properties": { + "type": { + "enum": [ + "map" + ] + }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + } + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/mixins/processing.json b/dist/js/schema/workflow/unit/mixins/processing.json new file mode 100644 index 000000000..fdba76b9e --- /dev/null +++ b/dist/js/schema/workflow/unit/mixins/processing.json @@ -0,0 +1,29 @@ +{ + "$id": "workflow/unit/mixins/processing", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit mixin schema", + "type": "object", + "required": [ + "operation", + "operationType", + "inputData" + ], + "properties": { + "type": { + "enum": [ + "processing" + ] + }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/mixins/reduce.json b/dist/js/schema/workflow/unit/mixins/reduce.json new file mode 100644 index 000000000..74310681b --- /dev/null +++ b/dist/js/schema/workflow/unit/mixins/reduce.json @@ -0,0 +1,45 @@ +{ + "$id": "workflow/unit/mixins/reduce", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit mixin schema", + "type": "object", + "required": [ + "mapFlowchartId", + "input" + ], + "properties": { + "type": { + "enum": [ + "reduce" + ] + }, + "mapFlowchartId": { + "description": "corresponding map unit flowchart ID", + "type": "string" + }, + "input": { + "description": "input information for reduce unit", + "type": "array", + "items": { + "type": "object", + "required": [ + "operation", + "arguments" + ], + "properties": { + "operation": { + "description": "reduce operation, e.g. aggregate", + "type": "string" + }, + "arguments": { + "description": "arguments which are passed to reduce operation function", + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/mixins/subworkflow.json b/dist/js/schema/workflow/unit/mixins/subworkflow.json new file mode 100644 index 000000000..c974af3a1 --- /dev/null +++ b/dist/js/schema/workflow/unit/mixins/subworkflow.json @@ -0,0 +1,13 @@ +{ + "$id": "workflow/unit/mixins/subworkflow", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "subworkflow unit mixin schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "subworkflow" + ] + } + } +} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/processing.json b/dist/js/schema/workflow/unit/processing.json index 6bd07486d..fd1359fe6 100644 --- a/dist/js/schema/workflow/unit/processing.json +++ b/dist/js/schema/workflow/unit/processing.json @@ -6,71 +6,21 @@ "required": [ "flowchartId", "inputData", + "monitors", + "name", "operation", "operationType", + "postProcessors", + "preProcessors", + "results", "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "processing" - ], - "description": "type of the unit", - "type": "string" - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" - }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" - }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "description": "entity identity", "type": "string" }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -83,6 +33,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -93,29 +47,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -123,29 +65,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -153,29 +83,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -183,29 +101,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -215,6 +121,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -235,6 +152,46 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "processing" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" } } } \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/reduce.json b/dist/js/schema/workflow/unit/reduce.json index b68923286..cd48c438b 100644 --- a/dist/js/schema/workflow/unit/reduce.json +++ b/dist/js/schema/workflow/unit/reduce.json @@ -7,86 +7,19 @@ "flowchartId", "input", "mapFlowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "reduce" - ], - "description": "type of the unit", - "type": "string" - }, - "mapFlowchartId": { - "description": "corresponding map unit flowchart ID", - "type": "string" - }, - "input": { - "description": "input information for reduce unit", - "type": "array", - "items": { - "type": "object", - "required": [ - "operation", - "arguments" - ], - "properties": { - "operation": { - "description": "reduce operation, e.g. aggregate", - "type": "string" - }, - "arguments": { - "description": "arguments which are passed to reduce operation function", - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -99,6 +32,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -109,29 +46,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -139,29 +64,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -169,29 +82,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -199,29 +100,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -231,6 +120,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -251,6 +151,63 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "reduce" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "mapFlowchartId": { + "description": "corresponding map unit flowchart ID", + "type": "string" + }, + "input": { + "description": "input information for reduce unit", + "type": "array", + "items": { + "type": "object", + "required": [ + "operation", + "arguments" + ], + "properties": { + "operation": { + "description": "reduce operation, e.g. aggregate", + "type": "string" + }, + "arguments": { + "description": "arguments which are passed to reduce operation function", + "type": "array", + "items": { + "type": "string" + } + } + } + } } } } \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/runtime/_runtime_item_full_object.json b/dist/js/schema/workflow/unit/runtime/_runtime_item_full_object.json deleted file mode 100644 index 98d700902..000000000 --- a/dist/js/schema/workflow/unit/runtime/_runtime_item_full_object.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$id": "workflow/unit/runtime/-runtime-item-full-object", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "full result schema", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "The name of this item. e.g. 'my_custom_property. '", - "type": "string" - } - } -} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/runtime/_runtime_item_string.json b/dist/js/schema/workflow/unit/runtime/_runtime_item_string.json deleted file mode 100644 index 1ba0efb39..000000000 --- a/dist/js/schema/workflow/unit/runtime/_runtime_item_string.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$id": "workflow/unit/runtime/-runtime-item-string", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" -} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/runtime/runtime_item.json b/dist/js/schema/workflow/unit/runtime/runtime_item.json deleted file mode 100644 index 60fbd480d..000000000 --- a/dist/js/schema/workflow/unit/runtime/runtime_item.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$id": "workflow/unit/runtime/runtime-item", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] -} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/runtime/runtime_items.json b/dist/js/schema/workflow/unit/runtime/runtime_items.json deleted file mode 100644 index 7b3679f54..000000000 --- a/dist/js/schema/workflow/unit/runtime/runtime_items.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "$id": "workflow/unit/runtime/runtime-items", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime items schema (pre-/post-processors, monitors, results", - "type": "object", - "properties": { - "preProcessors": { - "description": "names of the pre-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "postProcessors": { - "description": "names of the post-processors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "monitors": { - "description": "names of the monitors for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - }, - "results": { - "description": "names of the results for this calculation", - "type": "array", - "items": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" - } - ] - } - } - } -} \ No newline at end of file diff --git a/dist/js/schema/workflow/unit/subworkflow.json b/dist/js/schema/workflow/unit/subworkflow.json index 4659f3ccf..faee682c0 100644 --- a/dist/js/schema/workflow/unit/subworkflow.json +++ b/dist/js/schema/workflow/unit/subworkflow.json @@ -4,59 +4,20 @@ "title": "subworkflow unit schema", "type": "object", "required": [ - "type", - "flowchartId" + "flowchartId", + "monitors", + "name", + "postProcessors", + "preProcessors", + "results", + "type" ], "additionalProperties": true, "properties": { - "type": { - "enum": [ - "subworkflow" - ], - "description": "type of the unit", - "type": "string" - }, "_id": { - "type": "string", - "description": "entity identity" - }, - "isDraft": { - "type": "boolean" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", + "description": "entity identity", "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" - }, "slug": { "description": "entity slug", "type": "string" @@ -69,6 +30,10 @@ "type": "string", "default": "2022.8.16" }, + "name": { + "description": "entity name", + "type": "string" + }, "isDefault": { "description": "Identifies that entity is defaultable", "type": "boolean", @@ -79,29 +44,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "postProcessors": { @@ -109,29 +62,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "monitors": { @@ -139,29 +80,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "results": { @@ -169,29 +98,17 @@ "type": "array", "items": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. scf_accuracy", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", + "title": "runtime item name object schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", "type": "string" } - ] + } } }, "tags": { @@ -201,6 +118,17 @@ "type": "string" } }, + "status": { + "type": "string", + "description": "Status of the unit.", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, "statusTrack": { "type": "array", "items": { @@ -221,6 +149,35 @@ } } } + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string", + "enum": [ + "subworkflow" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" } } } \ No newline at end of file diff --git a/dist/js/schemas.json b/dist/js/schemas.json index 142ee891b..f8092c162 100644 --- a/dist/js/schemas.json +++ b/dist/js/schemas.json @@ -1 +1 @@ -[{"$id":"apse/db/materials-project/2025.9.25/summary","$schema":"http://json-schema.org/draft-07/schema#","title":"Materials Project Schema","description":"JSON schema for Materials Project API summary endpoint response","type":"object","required":["builder_meta","nsites","elements","nelements","composition","composition_reduced","formula_pretty","formula_anonymous","chemsys","volume","density","density_atomic","symmetry","material_id","deprecated","last_updated","origins","warnings","structure","property_name","task_ids","uncorrected_energy_per_atom","energy_per_atom","formation_energy_per_atom","energy_above_hull","is_stable","decomposes_to","xas","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","bandstructure","dos","is_magnetic","ordering","total_magnetization","total_magnetization_normalized_vol","total_magnetization_normalized_formula_units","num_magnetic_sites","num_unique_magnetic_sites","types_of_magnetic_species","bulk_modulus","shear_modulus","universal_anisotropy","homogeneous_poisson","possible_species","has_props","theoretical","database_IDs"],"definitions":{"bandstructure_data":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}}},"band_extrema":{"type":"object","required":["band_index","kpoint_index","kpoint","energy","projections"],"properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"dos_data":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"properties":{"builder_meta":{"type":"object","required":["emmet_version","pymatgen_version","run_id","database_version","build_date","license"],"properties":{"emmet_version":{"type":"string","description":"Version of emmet library used"},"pymatgen_version":{"type":"string","description":"Version of pymatgen library used"},"run_id":{"type":"string","description":"Unique identifier for the calculation run"},"batch_id":{"type":["string","null"],"description":"Batch identifier for grouped calculations"},"database_version":{"type":"string","description":"Version of the Materials Project database"},"build_date":{"type":"string","format":"date-time","description":"Date when the calculation was performed"},"license":{"type":"string","description":"License information for the data"}}},"nsites":{"type":"integer","description":"Number of sites in the structure"},"elements":{"type":"array","description":"List of chemical elements in the material","items":{"type":"string"}},"nelements":{"type":"integer","description":"Number of unique elements"},"composition":{"type":"object","description":"Chemical composition as element: count mapping","additionalProperties":{"type":"number"}},"composition_reduced":{"type":"object","description":"Reduced chemical composition","additionalProperties":{"type":"number"}},"formula_pretty":{"type":"string","description":"Human-readable chemical formula"},"formula_anonymous":{"type":"string","description":"Anonymous chemical formula"},"chemsys":{"type":"string","description":"Chemical system identifier"},"volume":{"type":"number","description":"Unit cell volume in cubic Angstroms"},"density":{"type":"number","description":"Material density in g/cm³"},"density_atomic":{"type":"number","description":"Atomic density"},"symmetry":{"type":"object","required":["crystal_system","symbol","number","point_group","symprec","angle_tolerance","version"],"properties":{"crystal_system":{"type":"string","description":"Crystal system classification"},"symbol":{"type":"string","description":"Space group symbol"},"hall":{"type":["string","null"],"description":"Hall symbol"},"number":{"type":"integer","description":"Space group number"},"point_group":{"type":"string","description":"Point group symbol"},"symprec":{"type":"number","description":"Symmetry precision tolerance"},"angle_tolerance":{"type":"number","description":"Angle tolerance for symmetry analysis"},"version":{"type":"string","description":"Version of symmetry analysis software"}}},"material_id":{"type":"string","description":"Unique Materials Project identifier"},"deprecated":{"type":"boolean","description":"Whether this material entry is deprecated"},"deprecation_reasons":{"type":["array","null"],"description":"Reasons for deprecation if applicable","items":{"type":"string"}},"last_updated":{"type":"string","format":"date-time","description":"Last update timestamp"},"origins":{"type":"array","items":{"type":"object","required":["name","task_id","last_updated"],"properties":{"name":{"type":"string","description":"Origin name (e.g., structure, energy, magnetism)"},"task_id":{"type":"string","description":"Task identifier for this origin"},"last_updated":{"type":"string","format":"date-time","description":"Last update for this origin"}}}},"warnings":{"type":"array","description":"Warning messages","items":{"type":"string"}},"structure":{"type":"object","required":["@module","@class","charge","lattice","properties","sites"],"properties":{"@module":{"type":"string","description":"Python module name"},"@class":{"type":"string","description":"Python class name"},"charge":{"type":"number","description":"Total charge of the structure"},"lattice":{"type":"object","required":["matrix","pbc","a","b","c","alpha","beta","gamma","volume"],"properties":{"matrix":{"type":"array","minItems":3,"maxItems":3,"description":"Lattice matrix","items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"description":"Periodic boundary conditions","items":{"type":"boolean"}},"a":{"type":"number","description":"Lattice parameter a"},"b":{"type":"number","description":"Lattice parameter b"},"c":{"type":"number","description":"Lattice parameter c"},"alpha":{"type":"number","description":"Lattice angle alpha"},"beta":{"type":"number","description":"Lattice angle beta"},"gamma":{"type":"number","description":"Lattice angle gamma"},"volume":{"type":"number","description":"Unit cell volume"}}},"properties":{"type":"object","description":"Additional structure properties"},"sites":{"type":"array","items":{"type":"object","required":["species","abc","label","xyz"],"properties":{"species":{"type":"array","items":{"type":"object","required":["element","occu"],"properties":{"element":{"type":"string","description":"Chemical element"},"occu":{"type":"number","description":"Occupancy"}}}},"abc":{"type":"array","minItems":3,"maxItems":3,"description":"Fractional coordinates","items":{"type":"number"}},"properties":{"type":"object","properties":{"magmom":{"type":"number","description":"Magnetic moment"}}},"label":{"type":"string","description":"Site label"},"xyz":{"type":"array","minItems":3,"maxItems":3,"description":"Cartesian coordinates","items":{"type":"number"}}}}}}},"property_name":{"type":"string","description":"Name of the property endpoint"},"task_ids":{"type":"array","description":"List of task identifiers","items":{"type":"string"}},"uncorrected_energy_per_atom":{"type":"number","description":"Uncorrected energy per atom in eV"},"energy_per_atom":{"type":"number","description":"Energy per atom in eV"},"formation_energy_per_atom":{"type":"number","description":"Formation energy per atom in eV"},"energy_above_hull":{"type":"number","description":"Energy above convex hull in eV"},"is_stable":{"type":"boolean","description":"Whether the material is thermodynamically stable"},"equilibrium_reaction_energy_per_atom":{"type":["number","null"],"description":"Equilibrium reaction energy per atom in eV"},"decomposes_to":{"oneOf":[{"type":"array","items":{"type":"object","required":["material_id","formula","amount"],"properties":{"material_id":{"type":"string","description":"Material ID of decomposition product"},"formula":{"type":"string","description":"Formula of decomposition product"},"amount":{"type":"number","description":"Amount of decomposition product"}}}},{"type":"null"}]},"xas":{"oneOf":[{"type":"array","items":{"type":"object","required":["edge","absorbing_element","spectrum_type"],"properties":{"edge":{"type":"string","description":"XAS edge type (K, L, M, etc.)"},"absorbing_element":{"type":"string","description":"Element for XAS absorption"},"spectrum_type":{"type":"string","description":"Type of XAS spectrum (XANES, EXAFS, XAFS)"}}}},{"type":"null"}]},"grain_boundaries":{"type":["object","null"],"description":"Grain boundary information"},"band_gap":{"type":"number","description":"Band gap in eV"},"cbm":{"type":["number","null"],"description":"Conduction band minimum in eV"},"vbm":{"type":["number","null"],"description":"Valence band maximum in eV"},"efermi":{"type":["number","null"],"description":"Fermi energy in eV"},"is_gap_direct":{"type":"boolean","description":"Whether the band gap is direct"},"is_metal":{"type":"boolean","description":"Whether the material is metallic"},"es_source_calc_id":{"type":["string","null"],"description":"Source calculation ID for electronic structure"},"bandstructure":{"oneOf":[{"type":"object","properties":{"setyawan_curtarolo":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]},"hinuma":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]},"latimer_munro":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]}}},{"type":"null"}]},"dos":{"oneOf":[{"type":"object","properties":{"total":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"elemental":{"type":"object","additionalProperties":{"type":"object","properties":{"total":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"s":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"p":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"d":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}}}}},"orbital":{"type":"object","properties":{"s":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"p":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"d":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}}}},"magnetic_ordering":{"type":"string","description":"Magnetic ordering type"}}},{"type":"null"}]},"dos_energy_up":{"type":["object","null"],"description":"Density of states for spin up"},"dos_energy_down":{"type":["object","null"],"description":"Density of states for spin down"},"is_magnetic":{"type":"boolean","description":"Whether the material is magnetic"},"ordering":{"type":"string","description":"Magnetic ordering"},"total_magnetization":{"type":"number","description":"Total magnetization"},"total_magnetization_normalized_vol":{"type":"number","description":"Volume-normalized magnetization"},"total_magnetization_normalized_formula_units":{"type":"number","description":"Formula unit normalized magnetization"},"num_magnetic_sites":{"type":"number","description":"Number of magnetic sites"},"num_unique_magnetic_sites":{"type":"number","description":"Number of unique magnetic sites"},"types_of_magnetic_species":{"type":"array","description":"Types of magnetic species","items":{"type":"string"}},"bulk_modulus":{"oneOf":[{"type":"object","properties":{"voigt":{"type":"number","description":"Voigt bulk modulus in GPa"},"reuss":{"type":"number","description":"Reuss bulk modulus in GPa"},"vrh":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa"}},"required":["voigt","reuss","vrh"]},{"type":"null"}]},"shear_modulus":{"oneOf":[{"type":"object","properties":{"voigt":{"type":"number","description":"Voigt shear modulus in GPa"},"reuss":{"type":"number","description":"Reuss shear modulus in GPa"},"vrh":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa"}},"required":["voigt","reuss","vrh"]},{"type":"null"}]},"universal_anisotropy":{"oneOf":[{"type":"number"},{"type":"null"}],"description":"Universal anisotropy index"},"homogeneous_poisson":{"oneOf":[{"type":"number"},{"type":"null"}],"description":"Homogeneous Poisson ratio"},"e_total":{"type":["number","null"],"description":"Total energy"},"e_ionic":{"type":["number","null"],"description":"Ionic energy"},"e_electronic":{"type":["number","null"],"description":"Electronic energy"},"n":{"type":["number","null"],"description":"Refractive index"},"e_ij_max":{"type":["number","null"],"description":"Maximum elastic constant"},"weighted_surface_energy_EV_PER_ANG2":{"type":["number","null"],"description":"Weighted surface energy in eV/Ų"},"weighted_surface_energy":{"type":["number","null"],"description":"Weighted surface energy"},"weighted_work_function":{"type":["number","null"],"description":"Weighted work function"},"surface_anisotropy":{"type":["number","null"],"description":"Surface anisotropy"},"shape_factor":{"type":["number","null"],"description":"Shape factor"},"has_reconstructed":{"type":["boolean","null"],"description":"Whether surface has reconstruction"},"possible_species":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Possible ionic species"},"has_props":{"type":"object","required":["materials","thermo","xas","grain_boundaries","chemenv","electronic_structure","absorption","bandstructure","dos","magnetism","elasticity","dielectric","piezoelectric","surface_properties","oxi_states","provenance","charge_density","eos","phonon","insertion_electrodes","substrates"],"properties":{"materials":{"type":"boolean"},"thermo":{"type":"boolean"},"xas":{"type":"boolean"},"grain_boundaries":{"type":"boolean"},"chemenv":{"type":"boolean"},"electronic_structure":{"type":"boolean"},"absorption":{"type":"boolean"},"bandstructure":{"type":"boolean"},"dos":{"type":"boolean"},"magnetism":{"type":"boolean"},"elasticity":{"type":"boolean"},"dielectric":{"type":"boolean"},"piezoelectric":{"type":"boolean"},"surface_properties":{"type":"boolean"},"oxi_states":{"type":"boolean"},"provenance":{"type":"boolean"},"charge_density":{"type":"boolean"},"eos":{"type":"boolean"},"phonon":{"type":"boolean"},"insertion_electrodes":{"type":"boolean"},"substrates":{"type":"boolean"}}},"theoretical":{"type":"boolean","description":"Whether this is a theoretical material"},"database_IDs":{"type":"object","properties":{"icsd":{"type":"array","description":"ICSD database identifiers","items":{"type":"string"}}}}}},{"$id":"apse/db/materials-project/legacy/material","$schema":"http://json-schema.org/draft-07/schema#","title":"Materials Project Legacy Material schema","description":"JSON schema for Materials Project API legacy material endpoint response","type":"object","required":["material_id","energy","energy_per_atom","volume","formation_energy_per_atom","nsites","unit_cell_formula","pretty_formula","is_hubbard","elements","nelements","e_above_hull","hubbards","is_compatible","spacegroup","task_ids","band_gap","density","icsd_ids","cif","total_magnetization","oxide_type","tags","deprecated","full_formula"],"properties":{"energy":{"type":"number","description":"Total energy"},"energy_per_atom":{"type":"number","description":"Energy per atom"},"volume":{"type":"number","description":"Unit cell volume"},"formation_energy_per_atom":{"type":"number","description":"Formation energy per atom"},"nsites":{"type":"integer","description":"Number of sites in unit cell"},"unit_cell_formula":{"type":"object","description":"Unit cell formula as element counts","additionalProperties":{"type":"number"}},"pretty_formula":{"type":"string","description":"Pretty formatted chemical formula"},"is_hubbard":{"type":"boolean","description":"Whether Hubbard U correction was applied"},"elements":{"type":"array","description":"List of elements in the material","items":{"type":"string"}},"nelements":{"type":"integer","description":"Number of distinct elements"},"e_above_hull":{"type":["number","null"],"description":"Energy above convex hull"},"hubbards":{"type":"object","description":"Hubbard U values","additionalProperties":true},"is_compatible":{"type":"boolean","description":"Whether material is compatible"},"spacegroup":{"type":"object","description":"Spacegroup information","properties":{"symprec":{"type":"number"},"source":{"type":"string"},"symbol":{"type":"string"},"number":{"type":"integer"},"point_group":{"type":"string"},"crystal_system":{"type":"string"},"hall":{"type":"string"}}},"task_ids":{"type":"array","description":"List of task IDs","items":{"type":"string"}},"band_gap":{"type":"number","description":"Band gap value"},"density":{"type":"number","description":"Material density"},"icsd_id":{"type":["integer","null"],"description":"ICSD ID (single)"},"icsd_ids":{"type":"array","description":"List of ICSD IDs","items":{"type":"integer"}},"cif":{"type":"string","description":"CIF file content"},"total_magnetization":{"type":"number","description":"Total magnetization"},"material_id":{"type":"string","description":"Material ID from Materials Project"},"oxide_type":{"type":"string","description":"Oxide type classification"},"tags":{"type":"array","description":"Material tags/names","items":{"type":"string"}},"elasticity":{"type":["object","null"],"description":"Elasticity data","properties":{"G_Reuss":{"type":"number","description":"Reuss shear modulus in GPa"},"G_VRH":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa"},"G_Voigt":{"type":"number","description":"Voigt shear modulus in GPa"},"G_Voigt_Reuss_Hill":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa (alternative field)"},"K_Reuss":{"type":"number","description":"Reuss bulk modulus in GPa"},"K_VRH":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa"},"K_Voigt":{"type":"number","description":"Voigt bulk modulus in GPa"},"K_Voigt_Reuss_Hill":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa (alternative field)"},"elastic_anisotropy":{"type":"number","description":"Elastic anisotropy"},"elastic_tensor":{"type":"array","description":"6x6 elastic tensor in GPa","items":{"type":"array","items":{"type":"number"}}},"homogeneous_poisson":{"type":"number","description":"Homogeneous Poisson ratio"},"poisson_ratio":{"type":"number","description":"Poisson ratio"},"universal_anisotropy":{"type":"number","description":"Universal elastic anisotropy"},"elastic_tensor_original":{"type":"array","description":"Original 6x6 elastic tensor in GPa","items":{"type":"array","items":{"type":"number"}}},"compliance_tensor":{"type":"array","description":"6x6 compliance tensor in GPa^-1","items":{"type":"array","items":{"type":"number"}}},"warnings":{"type":"array","description":"Warnings about elastic properties","items":{"type":"string"}},"nsites":{"type":"integer","description":"Number of sites in the structure"}}},"piezo":{"type":["object","null"],"description":"Piezoelectric data"},"diel":{"type":["object","null"],"description":"Dielectric data"},"deprecated":{"type":"boolean","description":"Whether material is deprecated"},"full_formula":{"type":"string","description":"Full chemical formula"}}},{"$id":"apse/db/nist-jarvis/2024.3.13/atoms","$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS Atoms schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","type":"object","additionalProperties":false,"properties":{"lattice_mat":{"type":"array","description":"Crystal lattice vectors as a 3x3 matrix, in Angstroms","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"coords":{"type":"array","description":"Atomic coordinates for each atom in the unit cell","minItems":1,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"elements":{"type":"array","description":"Atomic elements for each atom in the unit cell in the same order as `coords`","minItems":1,"items":{"type":"string"}},"abc":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"angles":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"cartesian":{"type":"boolean","description":"True if the coordinates are in Cartesian space, false if in fractional space"},"props":{"type":"array","description":"Additional properties for each of the atoms","items":{"type":"string"}}}},{"$id":"apse/db/nist-jarvis/2024.3.13/db-entry","$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS db entry schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","type":"object","additionalProperties":true,"properties":{"atoms":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS Atoms schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","type":"object","additionalProperties":false,"properties":{"lattice_mat":{"type":"array","description":"Crystal lattice vectors as a 3x3 matrix, in Angstroms","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"coords":{"type":"array","description":"Atomic coordinates for each atom in the unit cell","minItems":1,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"elements":{"type":"array","description":"Atomic elements for each atom in the unit cell in the same order as `coords`","minItems":1,"items":{"type":"string"}},"abc":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"angles":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"cartesian":{"type":"boolean","description":"True if the coordinates are in Cartesian space, false if in fractional space"},"props":{"type":"array","description":"Additional properties for each of the atoms","items":{"type":"string"}}}},"jid":{"type":"string","description":"The id of the entry in the database, e.g. JVASP-677"}}},{"$id":"apse/db/third-party-sources","$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","required":["source"],"properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/atomic-positions","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic positions schema","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom","crystal","crystal_sg"],"default":"alat"},"values":{"type":"array","items":{"type":"object","required":["x","y","z"],"additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}}}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/atomic-species","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic species schema","type":"object","additionalProperties":false,"properties":{"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/cell","$schema":"http://json-schema.org/draft-07/schema#","title":"cell schema","type":"object","oneOf":[{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","sd","damp-pr","damp-w","bfgs"],"default":"bfgs","description":"CASE ( calculation == 'vc-relax' )"}}},{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","pr","w"],"description":"CASE ( calculation == 'vc-md' )"}}}],"additionalProperties":false,"properties":{"press":{"type":"number","description":"Target pressure [KBar] in a variable-cell md or relaxation run.","default":0},"wmass":{"type":"number","description":"Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD"},"cell_factor":{"type":"number","description":"Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise"},"press_conv_thr":{"type":"number","default":0.5,"description":"Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well)."},"cell_dofree":{"type":"string","enum":["all","ibrav","a","b","c","fixa","fixb","fixc","x","y","xy","xz","xyz","shape","volume","2Dxy","2Dshape","epitaxial_ab","epitaxial_ac","epitaxial_bc"],"default":"all","description":"Select which of the cell parameters should be moved"}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/cell-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"cell parameters schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom"],"description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"values":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/control","$schema":"http://json-schema.org/draft-07/schema#","title":"control schema","type":"object","additionalProperties":false,"properties":{"calculation":{"description":"A string describing the task to be performed","type":"string","enum":["scf","nscf","bands","relax","md","vc-relax","vc-md"],"default":"scf"},"title":{"description":"reprinted on output.","type":"string","default":""},"verbosity":{"description":"Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low'","type":"string","enum":["high","low","debug","medium","minimal","default"],"default":"low"},"restart_mode":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"wf_collect":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"nstep":{"description":"Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick \"dry run\", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform \"nstep\" steps even if restarting from a previously interrupted calculation.","type":"number","default":1},"iprint":{"description":"band energies are written every iprint iterations","type":"number"},"tstress":{"type":"boolean","default":false,"description":"calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax'"},"tprnfor":{"type":"boolean","description":"calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md'"},"dt":{"type":"number","description":"time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!)","default":20},"outdir":{"type":"string","description":"input, temporary, output files are found in this directory, see also wfcdir"},"wfcdir":{"type":"string","description":"This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x."},"prefix":{"type":"string","description":"prepended to input/output filenames: prefix.wfc, prefix.rho, etc.","default":"pwscf"},"lkpoint_dir":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"max_seconds":{"type":"number","default":10000000,"description":"Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues."},"etot_conv_thr":{"type":"number","default":0.0001,"description":"Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied"},"forc_conv_thr":{"type":"number","default":0.001,"description":"Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied"},"disk_io":{"type":"string","enum":["high","medium","low","nowf","none"],"description":"Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option )"},"pseudo_dir":{"type":"string","description":"directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise"},"tefield":{"type":"boolean","default":false,"description":"If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential."},"dipfield":{"type":"boolean","default":false,"description":"If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE."},"lelfield":{"type":"boolean","default":false,"description":"If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. !"},"nberrycyc":{"type":"integer","default":1,"description":"In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density"},"lorbm":{"type":"boolean","default":false,"description":"If .TRUE. perform orbital magnetization calculation."},"lberry":{"type":"boolean","default":false,"description":"If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation"},"gdir":{"type":"number","description":"For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) \"gdir\" is the direction of the field."},"nppstr":{"type":"number","description":"For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.)."},"gate":{"type":"boolean","default":false,"description":"In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called \"monopole\" in v6.0 and 6.1 of pw.x"},"twochem":{"type":"boolean","default":false,"description":"IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold."},"lfcp":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP."},"trism":{"type":"boolean","default":false,"description":"If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. ."}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/electrons","$schema":"http://json-schema.org/draft-07/schema#","title":"electrons schema","type":"object","additionalProperties":false,"properties":{"electron_maxstep":{"type":"integer","default":100,"description":"maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops."},"exx_maxstep":{"type":"integer","default":100,"description":"maximum number of outer iterations in a scf calculation with exact exchange."},"scf_must_converge":{"type":"boolean","default":true,"description":"If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care."},"conv_thr":{"type":"number"},"adaptive_thr":{"type":"boolean","default":false,"description":"If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX."},"conv_thr_init":{"type":"number","description":"When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle."},"conv_thr_multi":{"type":"number","description":"When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx )"},"mixing_mode":{"type":"string","enum":["plain","TF","local-TF"],"default":"plain"},"mixing_beta":{"type":"number","description":"mixing factor for self-consistency"},"mixing_ndim":{"type":"integer","default":8,"description":"number of iterations used in mixing scheme"},"mixing_fixed_ns":{"type":"integer","default":0,"description":"For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term )."},"diagonalization":{"type":"string","enum":["david","cg","ppcg","paro","ParO","rmm-davidson","rmm-paro"],"default":"david"},"diago_thr_init":{"type":"number","description":"Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence)."},"diago_cg_maxiter":{"type":"integer","description":"For conjugate gradient diagonalization: max number of iterations"},"diago_ppcg_maxiter":{"type":"integer","description":"For ppcg diagonalization: max number of iterations"},"diago_david_ndim":{"type":"integer","default":2,"description":"For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_ndim":{"type":"integer","default":4,"description":"For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_conv":{"type":"boolean","default":false,"description":"If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once."},"diago_gs_nblock":{"type":"integer","default":16,"description":"For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization"},"diago_full_acc":{"type":"boolean","default":false,"description":"If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties)."},"efield":{"type":"number","description":"Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic."},"efield_cart":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"efield_phase":{"type":"string","enum":["read","write","none"],"default":"none"},"startingpot":{"type":"string","enum":["atomic","file"]},"startingwfc":{"type":"string","enum":["atomic","atomic+random","random","file"],"default":"atomic+random"},"tqr":{"type":"boolean","default":false,"description":"If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing!"},"real_space":{"type":"boolean","default":false,"description":"If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing!"}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/hubbard","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["atomic","ortho-atomic","norm-atomic","wf","pseudo"]},"values":{"oneOf":[{"description":"IF DFT+U","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1764","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1784","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}}]}},{"description":"IF DFT+U+J","type":"array","items":{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1817","additionalProperties":false,"properties":{"paramType":{"type":"string","enum":["U","J","B","E2","E3"],"description":"character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals)"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"paramValue":{"type":"number","description":"value of the J0 parameter (in eV)"}}}},{"description":"IF DFT+U+V","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1847","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1865","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1884","additionalProperties":false,"properties":{"V":{"type":"string","enum":["V"],"description":"string constant \"V\"; indicates the specs for the V parameter will be given"},"label(I)":{"type":"string","description":"label of the atom I (as defined in ATOMIC_SPECIES)"},"manifold(I)":{"type":"string","description":"specs of the manifold for atom I (e.g., 3d, 2p...)"},"label(J)":{"type":"string","description":"label of the atom J (as defined in ATOMIC_SPECIES)"},"manifold(J)":{"type":"string","description":"specs of the manifold for atom J (e.g., 3d, 2p...)"},"I":{"type":"integer","description":"index of the atom I"},"J":{"type":"integer","description":"index of the atom J"},"v_val(I,J)":{"type":"number","description":"value of the V parameter for the atom pair I,J (in eV)"}}}]}}]}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/ions","$schema":"http://json-schema.org/draft-07/schema#","title":"ions schema","type":"object","oneOf":[{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp","fire"],"default":"bfgs","description":"CASE: calculation == 'relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["verlet","langevin","langevin-smc"],"default":"verlet","description":"CASE: calculation == 'md'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp"],"default":"bfgs","description":"CASE: calculation == 'vc-relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["beeman"],"default":"beeman","description":"CASE: calculation == 'vc-md'"}}}],"additionalProperties":false,"properties":{"ion_positions":{"type":"string","enum":["default","from_input"],"default":"default"},"ion_velocities":{"type":"string","enum":["default","from_input"],"default":"default"},"pot_extrapolation":{"type":"string","enum":["none","atomic","first_order","second_order"],"default":"atomic","description":"Used to extrapolate the potential from preceding ionic steps."},"wfc_extrapolation":{"type":"string","enum":["none","first_order","second_order"],"default":"none","description":"Used to extrapolate the wavefunctions from preceding ionic steps."},"remove_rigid_rot":{"type":"boolean","default":false,"description":"This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells."},"ion_temperature":{"type":"string","enum":["rescaling","rescale-v","rescale-T","reduce-T","berendsen","andersen","svr","initial","not_controlled"],"default":"not_controlled"},"tempw":{"type":"number","description":"Starting temperature (Kelvin) in MD runs target temperature for most thermostats.","default":300},"tolp":{"type":"number","description":"Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp.","default":100},"delta_t":{"type":"number","default":1},"nraise":{"type":"integer","default":1},"refold_pos":{"type":"boolean","default":false,"description":"This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell."},"upscale":{"type":"number","description":"Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale.","default":100},"bfgs_ndim":{"type":"integer","default":1,"description":"Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm."},"trust_radius_max":{"type":"number","description":"Maximum ionic displacement in the structural relaxation. (bfgs only)","default":0.8},"trust_radius_min":{"type":"number","description":"Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only)","default":0.001},"trust_radius_ini":{"type":"number","description":"Initial ionic displacement in the structural relaxation. (bfgs only)","default":0.5},"w_1":{"type":"number","default":0.01},"w_2":{"type":"number","description":"Parameters used in line search based on the Wolfe conditions. (bfgs only)","default":0.5},"fire_alpha_init":{"type":"number","description":"Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3","default":0.2},"fire_falpha":{"type":"number","description":"Scaling of the alpha mixing parameter for steps with P > 0;","default":0.99},"fire_nmin":{"type":"integer","default":5,"description":"Minimum number of steps with P > 0 before increase of dt"},"fire_f_inc":{"type":"number","description":"Factor for increasing dt","default":1.1},"fire_f_dec":{"type":"number","description":"Factor for decreasing dt","default":0.5},"fire_dtmax":{"type":"number","description":"Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt","default":10}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/k-points","$schema":"http://json-schema.org/draft-07/schema#","title":"k points schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["tpiba","automatic","crystal","gamma","tpiba_b","crystal_b","tpiba_c","crystal_c"]},"values":{"oneOf":[{"type":"array","description":"K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c","items":{"type":"object","additionalProperties":false,"properties":{"nks":{"type":"integer","description":"Number of supplied special k-points."},"xk_x":{"type":"number"},"xk_y":{"type":"number"},"xk_z":{"type":"number"},"wk":{"type":"number"}}}},{"type":"object","description":"K_POINTS automatic","additionalProperties":false,"properties":{"nk1":{"type":"integer","description":"Number of supplied special k-points."},"nk2":{"type":"integer","description":"Number of supplied special k-points."},"nk3":{"type":"integer","description":"Number of supplied special k-points."},"sk1":{"type":"integer","description":"Number of supplied special k-points."},"sk2":{"type":"integer","description":"Number of supplied special k-points."},"sk3":{"type":"integer","description":"Number of supplied special k-points."}}},{"type":"null","description":"K_POINTS gamma"}]}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/system","$schema":"http://json-schema.org/draft-07/schema#","title":"system schema","type":"object","anyOf":[{"properties":{"celldm":{"type":"array","minItems":6,"maxItems":6,"items":{"type":"number"}}}},{"properties":{"A":{"type":"number"},"B":{"type":"number"},"C":{"type":"number"},"cosAB":{"type":"number"},"cosAC":{"type":"number"},"cosBC":{"type":"number"}}}],"required":["ibrav","nat","ntyp","ecutwfc"],"additionalProperties":false,"properties":{"ibrav":{"type":"integer"},"nat":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"ntyp":{"type":"integer","description":"number of types of atoms in the unit cell"},"nbnd":{"type":"integer","description":"Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)"},"nbnd_cond":{"type":"integer","description":"Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case."},"tot_charge":{"type":"number","default":0},"starting_charge":{"type":"number","default":0,"description":"starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'."},"tot_magnetization":{"type":"number","default":-10000,"description":"Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle."},"starting_magnetization":{"type":"array","items":{"type":"number","default":0,"minimum":-1,"maximum":1}},"ecutwfc":{"type":"number","description":"kinetic energy cutoff (Ry) for wavefunctions"},"ecutrho":{"type":"number","description":"Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc"},"ecutfock":{"type":"number","description":"Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials."},"nr1":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr2":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr3":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr1s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr2s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr3s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nosym":{"type":"boolean","default":false},"nosym_evc":{"type":"boolean","default":false},"noinv":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation"},"no_t_rev":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal."},"force_symmorphic":{"type":"boolean","default":false,"description":"if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation"},"use_all_frac":{"type":"boolean","default":false},"occupations":{"type":"string","enum":["smearing","tetrahedra","tetrahedra_lin","tetrahedra_opt","fixed","from_input"]},"one_atom_occupations":{"type":"boolean","default":false},"starting_spin_angle":{"type":"boolean","default":false},"degauss_cond":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.)."},"nelec_cond":{"type":"number","default":0,"description":"Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold."},"degauss":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in metals."},"smearing":{"type":"string","enum":["gaussian","gauss","methfessel-paxton","m-p","mp","marzari-vanderbilt","cold","m-v","mv","fermi-dirac","f-d","fd"],"default":"gaussian"},"nspin":{"type":"integer","default":1},"sic_gamma":{"type":"number","default":0,"description":"Strength of the gammaDFT potential."},"pol_type":{"type":"string","enum":["e","h"],"description":"Type of polaron in gammaDFT."},"sic_energy":{"type":"boolean","default":false,"description":"Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost."},"sci_vb":{"type":"number","default":0,"description":"Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"sci_cb":{"type":"number","default":0,"description":"Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"noncolin":{"type":"boolean","default":false,"description":"if .true. the program will perform a noncollinear calculation."},"ecfixed":{"type":"number","default":0},"qcutz":{"type":"number","default":0},"q2sigma":{"type":"number","default":0.1},"input_dft":{"type":"string","description":"Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!"},"ace":{"type":"boolean","default":true,"description":"Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092"},"exx_fraction":{"type":"number","description":"Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20."},"screening_parameter":{"type":"number","default":0.106,"description":"screening_parameter for HSE like hybrid functionals."},"exxdiv_treatment":{"type":"string","default":"gygi-baldereschi","enum":["gygi-baldereschi","vcut_spherical","vcut_ws","none"]},"x_gamma_extrapolation":{"type":"boolean","default":true,"description":"Specific for EXX. If .true., extrapolate the G=0 term of the potential"},"ecutvcut":{"type":"number","description":"Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors."},"nqx1":{"type":"integer","default":0,"description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx2":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx3":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"localization_thr":{"type":"number","default":0,"description":"Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation"},"Hubbard_occ":{"type":"array","items":{"type":"array","minItems":3,"maxItems":3,"items":[{"type":"integer","minimum":1},{"type":"integer","minimum":1,"maximum":3},{"type":"number"}]}},"Hubbard_alpha":{"type":"array","items":{"type":"number","default":0}},"Hubbard_beta":{"type":"array","items":{"type":"number","default":0}},"starting_ns_eigenvalue":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"dmft":{"type":"boolean","default":false,"description":"If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1."},"dmft_prefix":{"type":"string","description":"prepended to hdf5 archive: dmft_prefix.h5"},"ensemble_energies":{"type":"boolean","default":false,"description":"If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation."},"edir":{"type":"integer","description":"The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE."},"emaxpos":{"type":"number","default":0.5,"description":"Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE."},"eopreg":{"type":"number","default":0.1,"description":"Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE."},"eamp":{"type":"number","default":0.001},"angle1":{"type":"array","maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types.","items":{"type":"number"}},"angle2":{"type":"array","maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only.","items":{"type":"number"}},"lforcet":{"type":"boolean","description":"When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1"},"constrained_magnetization":{"type":"string","enum":["none","total","atomic","total direction","atomic direction"],"default":"none","description":"Used to perform constrained calculations in magnetic systems."},"fixed_magnetization":{"type":"array","maxItems":3,"minItems":3,"items":{"type":"number","default":0}},"lambda":{"type":"number","default":1,"description":"parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda"},"report":{"type":"integer","default":-1,"description":"determines when atomic magnetic moments are printed on output"},"lspinorb":{"type":"boolean","description":"if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit."},"assume_isolated":{"type":"string","enum":["none","makov-payne","m-p","mp","martyna-tuckerman","m-t","mt","esm","2D"],"default":"none","description":"Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)"},"esm_bc":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"esm_w":{"type":"number","default":0,"description":"If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] )."},"esm_efield":{"type":"number","default":0,"description":"If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes."},"esm_nfit":{"type":"integer","default":4,"description":"If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge."},"lgcscf":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF."},"gcscf_mu":{"type":"number","description":"The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge"},"gcscf_conv_thr":{"type":"number","default":0.01,"description":"Convergence threshold of Fermi energy (eV) for GC-SCF."},"gcscf_beta":{"type":"number","default":0.05,"description":"Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite."},"vdw_corr":{"type":"string","enum":["none","grimme-d2","Grimme-D2","DFT-D","dft-d","grimme-d3","Grimme-D3","DFT-D3","dft-d3","TS","ts","ts-vdw","ts-vdW","tkatchenko-scheffler","MBD","mbd","many-body-dispersion","mbd_vdw","XDM","xdm"],"default":"none","description":"Type of Van der Waals correction"},"london":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='DFT-D'"},"london_s6":{"type":"number","default":0.75,"description":"global scaling parameter for DFT-D. Default is good for PBE."},"london_c6":{"type":"number","description":"atomic C6 coefficient of each atom type"},"london_rvdw":{"type":"number","description":"atomic vdw radii of each atom type"},"london_rcut":{"type":"number","default":200,"description":"cutoff radius (a.u.) for dispersion interactions"},"dftd3_version":{"type":"integer","default":3,"minimum":2,"maximum":6,"description":"Version of Grimme implementation of Grimme-D3"},"dftd3_threebody":{"type":"boolean","default":true,"description":"Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled."},"ts_vdw_econv_thr":{"type":"number","default":0.000001,"description":"Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it"},"ts_vdw_isolated":{"type":"boolean","default":false,"description":"Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system."},"xdm":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='xdm'"},"xdm_a1":{"type":"number","default":0.6836,"description":"Damping function parameter a1 (adimensional)"},"xdm_a2":{"type":"number","default":1.5045,"description":"Damping function parameter a2 (angstrom)"},"space_group":{"type":"integer","default":0,"description":"The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)"},"uniqueb":{"type":"boolean","default":false,"description":"Used only for monoclinic lattices"},"origin_choice":{"type":"integer","default":1,"description":"Used only for space groups that in the ITA allow the use of two different origins"},"rhombohedral":{"type":"boolean","default":true,"description":"Used only for rhombohedral space groups."},"zgate":{"type":"number","default":0.5,"description":"used only if gate = .TRUE."},"relaxz":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block_1":{"type":"number","default":0.45,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_2":{"type":"number","default":0.55,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_height":{"type":"number","default":0.1,"description":"used only if gate = .TRUE. and block = .TRUE."},"nextffield":{"type":"integer","default":0,"description":"Number of activated external ionic force fields."}}},{"$id":"apse/file/applications/espresso/7.2/pw.x","$schema":"http://json-schema.org/draft-07/schema#","title":"pwx main schema","type":"object","additionalProperties":false,"properties":{"&CONTROL":{"$schema":"http://json-schema.org/draft-07/schema#","title":"control schema","type":"object","additionalProperties":false,"properties":{"calculation":{"description":"A string describing the task to be performed","type":"string","enum":["scf","nscf","bands","relax","md","vc-relax","vc-md"],"default":"scf"},"title":{"description":"reprinted on output.","type":"string","default":""},"verbosity":{"description":"Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low'","type":"string","enum":["high","low","debug","medium","minimal","default"],"default":"low"},"restart_mode":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"wf_collect":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"nstep":{"description":"Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick \"dry run\", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform \"nstep\" steps even if restarting from a previously interrupted calculation.","type":"number","default":1},"iprint":{"description":"band energies are written every iprint iterations","type":"number"},"tstress":{"type":"boolean","default":false,"description":"calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax'"},"tprnfor":{"type":"boolean","description":"calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md'"},"dt":{"type":"number","description":"time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!)","default":20},"outdir":{"type":"string","description":"input, temporary, output files are found in this directory, see also wfcdir"},"wfcdir":{"type":"string","description":"This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x."},"prefix":{"type":"string","description":"prepended to input/output filenames: prefix.wfc, prefix.rho, etc.","default":"pwscf"},"lkpoint_dir":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"max_seconds":{"type":"number","default":10000000,"description":"Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues."},"etot_conv_thr":{"type":"number","default":0.0001,"description":"Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied"},"forc_conv_thr":{"type":"number","default":0.001,"description":"Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied"},"disk_io":{"type":"string","enum":["high","medium","low","nowf","none"],"description":"Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option )"},"pseudo_dir":{"type":"string","description":"directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise"},"tefield":{"type":"boolean","default":false,"description":"If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential."},"dipfield":{"type":"boolean","default":false,"description":"If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE."},"lelfield":{"type":"boolean","default":false,"description":"If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. !"},"nberrycyc":{"type":"integer","default":1,"description":"In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density"},"lorbm":{"type":"boolean","default":false,"description":"If .TRUE. perform orbital magnetization calculation."},"lberry":{"type":"boolean","default":false,"description":"If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation"},"gdir":{"type":"number","description":"For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) \"gdir\" is the direction of the field."},"nppstr":{"type":"number","description":"For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.)."},"gate":{"type":"boolean","default":false,"description":"In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called \"monopole\" in v6.0 and 6.1 of pw.x"},"twochem":{"type":"boolean","default":false,"description":"IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold."},"lfcp":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP."},"trism":{"type":"boolean","default":false,"description":"If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. ."}}},"&SYSTEM":{"$schema":"http://json-schema.org/draft-07/schema#","title":"system schema","type":"object","anyOf":[{"properties":{"celldm":{"type":"array","minItems":6,"maxItems":6,"items":{"type":"number"}}}},{"properties":{"A":{"type":"number"},"B":{"type":"number"},"C":{"type":"number"},"cosAB":{"type":"number"},"cosAC":{"type":"number"},"cosBC":{"type":"number"}}}],"required":["ibrav","nat","ntyp","ecutwfc"],"additionalProperties":false,"properties":{"ibrav":{"type":"integer"},"nat":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"ntyp":{"type":"integer","description":"number of types of atoms in the unit cell"},"nbnd":{"type":"integer","description":"Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)"},"nbnd_cond":{"type":"integer","description":"Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case."},"tot_charge":{"type":"number","default":0},"starting_charge":{"type":"number","default":0,"description":"starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'."},"tot_magnetization":{"type":"number","default":-10000,"description":"Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle."},"starting_magnetization":{"type":"array","items":{"type":"number","default":0,"minimum":-1,"maximum":1}},"ecutwfc":{"type":"number","description":"kinetic energy cutoff (Ry) for wavefunctions"},"ecutrho":{"type":"number","description":"Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc"},"ecutfock":{"type":"number","description":"Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials."},"nr1":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr2":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr3":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr1s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr2s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr3s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nosym":{"type":"boolean","default":false},"nosym_evc":{"type":"boolean","default":false},"noinv":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation"},"no_t_rev":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal."},"force_symmorphic":{"type":"boolean","default":false,"description":"if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation"},"use_all_frac":{"type":"boolean","default":false},"occupations":{"type":"string","enum":["smearing","tetrahedra","tetrahedra_lin","tetrahedra_opt","fixed","from_input"]},"one_atom_occupations":{"type":"boolean","default":false},"starting_spin_angle":{"type":"boolean","default":false},"degauss_cond":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.)."},"nelec_cond":{"type":"number","default":0,"description":"Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold."},"degauss":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in metals."},"smearing":{"type":"string","enum":["gaussian","gauss","methfessel-paxton","m-p","mp","marzari-vanderbilt","cold","m-v","mv","fermi-dirac","f-d","fd"],"default":"gaussian"},"nspin":{"type":"integer","default":1},"sic_gamma":{"type":"number","default":0,"description":"Strength of the gammaDFT potential."},"pol_type":{"type":"string","enum":["e","h"],"description":"Type of polaron in gammaDFT."},"sic_energy":{"type":"boolean","default":false,"description":"Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost."},"sci_vb":{"type":"number","default":0,"description":"Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"sci_cb":{"type":"number","default":0,"description":"Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"noncolin":{"type":"boolean","default":false,"description":"if .true. the program will perform a noncollinear calculation."},"ecfixed":{"type":"number","default":0},"qcutz":{"type":"number","default":0},"q2sigma":{"type":"number","default":0.1},"input_dft":{"type":"string","description":"Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!"},"ace":{"type":"boolean","default":true,"description":"Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092"},"exx_fraction":{"type":"number","description":"Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20."},"screening_parameter":{"type":"number","default":0.106,"description":"screening_parameter for HSE like hybrid functionals."},"exxdiv_treatment":{"type":"string","default":"gygi-baldereschi","enum":["gygi-baldereschi","vcut_spherical","vcut_ws","none"]},"x_gamma_extrapolation":{"type":"boolean","default":true,"description":"Specific for EXX. If .true., extrapolate the G=0 term of the potential"},"ecutvcut":{"type":"number","description":"Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors."},"nqx1":{"type":"integer","default":0,"description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx2":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx3":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"localization_thr":{"type":"number","default":0,"description":"Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation"},"Hubbard_occ":{"type":"array","items":{"type":"array","minItems":3,"maxItems":3,"items":[{"type":"integer","minimum":1},{"type":"integer","minimum":1,"maximum":3},{"type":"number"}]}},"Hubbard_alpha":{"type":"array","items":{"type":"number","default":0}},"Hubbard_beta":{"type":"array","items":{"type":"number","default":0}},"starting_ns_eigenvalue":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"dmft":{"type":"boolean","default":false,"description":"If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1."},"dmft_prefix":{"type":"string","description":"prepended to hdf5 archive: dmft_prefix.h5"},"ensemble_energies":{"type":"boolean","default":false,"description":"If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation."},"edir":{"type":"integer","description":"The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE."},"emaxpos":{"type":"number","default":0.5,"description":"Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE."},"eopreg":{"type":"number","default":0.1,"description":"Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE."},"eamp":{"type":"number","default":0.001},"angle1":{"type":"array","maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types.","items":{"type":"number"}},"angle2":{"type":"array","maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only.","items":{"type":"number"}},"lforcet":{"type":"boolean","description":"When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1"},"constrained_magnetization":{"type":"string","enum":["none","total","atomic","total direction","atomic direction"],"default":"none","description":"Used to perform constrained calculations in magnetic systems."},"fixed_magnetization":{"type":"array","maxItems":3,"minItems":3,"items":{"type":"number","default":0}},"lambda":{"type":"number","default":1,"description":"parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda"},"report":{"type":"integer","default":-1,"description":"determines when atomic magnetic moments are printed on output"},"lspinorb":{"type":"boolean","description":"if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit."},"assume_isolated":{"type":"string","enum":["none","makov-payne","m-p","mp","martyna-tuckerman","m-t","mt","esm","2D"],"default":"none","description":"Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)"},"esm_bc":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"esm_w":{"type":"number","default":0,"description":"If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] )."},"esm_efield":{"type":"number","default":0,"description":"If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes."},"esm_nfit":{"type":"integer","default":4,"description":"If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge."},"lgcscf":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF."},"gcscf_mu":{"type":"number","description":"The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge"},"gcscf_conv_thr":{"type":"number","default":0.01,"description":"Convergence threshold of Fermi energy (eV) for GC-SCF."},"gcscf_beta":{"type":"number","default":0.05,"description":"Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite."},"vdw_corr":{"type":"string","enum":["none","grimme-d2","Grimme-D2","DFT-D","dft-d","grimme-d3","Grimme-D3","DFT-D3","dft-d3","TS","ts","ts-vdw","ts-vdW","tkatchenko-scheffler","MBD","mbd","many-body-dispersion","mbd_vdw","XDM","xdm"],"default":"none","description":"Type of Van der Waals correction"},"london":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='DFT-D'"},"london_s6":{"type":"number","default":0.75,"description":"global scaling parameter for DFT-D. Default is good for PBE."},"london_c6":{"type":"number","description":"atomic C6 coefficient of each atom type"},"london_rvdw":{"type":"number","description":"atomic vdw radii of each atom type"},"london_rcut":{"type":"number","default":200,"description":"cutoff radius (a.u.) for dispersion interactions"},"dftd3_version":{"type":"integer","default":3,"minimum":2,"maximum":6,"description":"Version of Grimme implementation of Grimme-D3"},"dftd3_threebody":{"type":"boolean","default":true,"description":"Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled."},"ts_vdw_econv_thr":{"type":"number","default":0.000001,"description":"Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it"},"ts_vdw_isolated":{"type":"boolean","default":false,"description":"Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system."},"xdm":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='xdm'"},"xdm_a1":{"type":"number","default":0.6836,"description":"Damping function parameter a1 (adimensional)"},"xdm_a2":{"type":"number","default":1.5045,"description":"Damping function parameter a2 (angstrom)"},"space_group":{"type":"integer","default":0,"description":"The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)"},"uniqueb":{"type":"boolean","default":false,"description":"Used only for monoclinic lattices"},"origin_choice":{"type":"integer","default":1,"description":"Used only for space groups that in the ITA allow the use of two different origins"},"rhombohedral":{"type":"boolean","default":true,"description":"Used only for rhombohedral space groups."},"zgate":{"type":"number","default":0.5,"description":"used only if gate = .TRUE."},"relaxz":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block_1":{"type":"number","default":0.45,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_2":{"type":"number","default":0.55,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_height":{"type":"number","default":0.1,"description":"used only if gate = .TRUE. and block = .TRUE."},"nextffield":{"type":"integer","default":0,"description":"Number of activated external ionic force fields."}}},"&ELECTRONS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"electrons schema","type":"object","additionalProperties":false,"properties":{"electron_maxstep":{"type":"integer","default":100,"description":"maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops."},"exx_maxstep":{"type":"integer","default":100,"description":"maximum number of outer iterations in a scf calculation with exact exchange."},"scf_must_converge":{"type":"boolean","default":true,"description":"If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care."},"conv_thr":{"type":"number"},"adaptive_thr":{"type":"boolean","default":false,"description":"If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX."},"conv_thr_init":{"type":"number","description":"When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle."},"conv_thr_multi":{"type":"number","description":"When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx )"},"mixing_mode":{"type":"string","enum":["plain","TF","local-TF"],"default":"plain"},"mixing_beta":{"type":"number","description":"mixing factor for self-consistency"},"mixing_ndim":{"type":"integer","default":8,"description":"number of iterations used in mixing scheme"},"mixing_fixed_ns":{"type":"integer","default":0,"description":"For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term )."},"diagonalization":{"type":"string","enum":["david","cg","ppcg","paro","ParO","rmm-davidson","rmm-paro"],"default":"david"},"diago_thr_init":{"type":"number","description":"Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence)."},"diago_cg_maxiter":{"type":"integer","description":"For conjugate gradient diagonalization: max number of iterations"},"diago_ppcg_maxiter":{"type":"integer","description":"For ppcg diagonalization: max number of iterations"},"diago_david_ndim":{"type":"integer","default":2,"description":"For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_ndim":{"type":"integer","default":4,"description":"For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_conv":{"type":"boolean","default":false,"description":"If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once."},"diago_gs_nblock":{"type":"integer","default":16,"description":"For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization"},"diago_full_acc":{"type":"boolean","default":false,"description":"If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties)."},"efield":{"type":"number","description":"Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic."},"efield_cart":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"efield_phase":{"type":"string","enum":["read","write","none"],"default":"none"},"startingpot":{"type":"string","enum":["atomic","file"]},"startingwfc":{"type":"string","enum":["atomic","atomic+random","random","file"],"default":"atomic+random"},"tqr":{"type":"boolean","default":false,"description":"If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing!"},"real_space":{"type":"boolean","default":false,"description":"If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing!"}}},"&IONS":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"ions schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp","fire"],"default":"bfgs","description":"CASE: calculation == 'relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["verlet","langevin","langevin-smc"],"default":"verlet","description":"CASE: calculation == 'md'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp"],"default":"bfgs","description":"CASE: calculation == 'vc-relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["beeman"],"default":"beeman","description":"CASE: calculation == 'vc-md'"}}}],"properties":{"ion_positions":{"type":"string","enum":["default","from_input"],"default":"default"},"ion_velocities":{"type":"string","enum":["default","from_input"],"default":"default"},"pot_extrapolation":{"type":"string","enum":["none","atomic","first_order","second_order"],"default":"atomic","description":"Used to extrapolate the potential from preceding ionic steps."},"wfc_extrapolation":{"type":"string","enum":["none","first_order","second_order"],"default":"none","description":"Used to extrapolate the wavefunctions from preceding ionic steps."},"remove_rigid_rot":{"type":"boolean","default":false,"description":"This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells."},"ion_temperature":{"type":"string","enum":["rescaling","rescale-v","rescale-T","reduce-T","berendsen","andersen","svr","initial","not_controlled"],"default":"not_controlled"},"tempw":{"type":"number","description":"Starting temperature (Kelvin) in MD runs target temperature for most thermostats.","default":300},"tolp":{"type":"number","description":"Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp.","default":100},"delta_t":{"type":"number","default":1},"nraise":{"type":"integer","default":1},"refold_pos":{"type":"boolean","default":false,"description":"This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell."},"upscale":{"type":"number","description":"Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale.","default":100},"bfgs_ndim":{"type":"integer","default":1,"description":"Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm."},"trust_radius_max":{"type":"number","description":"Maximum ionic displacement in the structural relaxation. (bfgs only)","default":0.8},"trust_radius_min":{"type":"number","description":"Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only)","default":0.001},"trust_radius_ini":{"type":"number","description":"Initial ionic displacement in the structural relaxation. (bfgs only)","default":0.5},"w_1":{"type":"number","default":0.01},"w_2":{"type":"number","description":"Parameters used in line search based on the Wolfe conditions. (bfgs only)","default":0.5},"fire_alpha_init":{"type":"number","description":"Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3","default":0.2},"fire_falpha":{"type":"number","description":"Scaling of the alpha mixing parameter for steps with P > 0;","default":0.99},"fire_nmin":{"type":"integer","default":5,"description":"Minimum number of steps with P > 0 before increase of dt"},"fire_f_inc":{"type":"number","description":"Factor for increasing dt","default":1.1},"fire_f_dec":{"type":"number","description":"Factor for decreasing dt","default":0.5},"fire_dtmax":{"type":"number","description":"Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt","default":10}}},{"type":"null"}]},"&CELL":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"cell schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","sd","damp-pr","damp-w","bfgs"],"default":"bfgs","description":"CASE ( calculation == 'vc-relax' )"}}},{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","pr","w"],"description":"CASE ( calculation == 'vc-md' )"}}}],"properties":{"press":{"type":"number","description":"Target pressure [KBar] in a variable-cell md or relaxation run.","default":0},"wmass":{"type":"number","description":"Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD"},"cell_factor":{"type":"number","description":"Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise"},"press_conv_thr":{"type":"number","default":0.5,"description":"Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well)."},"cell_dofree":{"type":"string","enum":["all","ibrav","a","b","c","fixa","fixb","fixc","x","y","xy","xz","xyz","shape","volume","2Dxy","2Dshape","epitaxial_ab","epitaxial_ac","epitaxial_bc"],"default":"all","description":"Select which of the cell parameters should be moved"}}},{"type":"null"}]},"ATOMIC_SPECIES":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic species schema","type":"object","additionalProperties":false,"properties":{"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}}}},"ATOMIC_POSITIONS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic positions schema","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom","crystal","crystal_sg"],"default":"alat"},"values":{"type":"array","items":{"type":"object","required":["x","y","z"],"additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}}}}}},"K_POINTS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"k points schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["tpiba","automatic","crystal","gamma","tpiba_b","crystal_b","tpiba_c","crystal_c"]},"values":{"oneOf":[{"type":"array","description":"K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c","items":{"type":"object","additionalProperties":false,"properties":{"nks":{"type":"integer","description":"Number of supplied special k-points."},"xk_x":{"type":"number"},"xk_y":{"type":"number"},"xk_z":{"type":"number"},"wk":{"type":"number"}}}},{"type":"object","description":"K_POINTS automatic","additionalProperties":false,"properties":{"nk1":{"type":"integer","description":"Number of supplied special k-points."},"nk2":{"type":"integer","description":"Number of supplied special k-points."},"nk3":{"type":"integer","description":"Number of supplied special k-points."},"sk1":{"type":"integer","description":"Number of supplied special k-points."},"sk2":{"type":"integer","description":"Number of supplied special k-points."},"sk3":{"type":"integer","description":"Number of supplied special k-points."}}},{"type":"null","description":"K_POINTS gamma"}]}}},"CELL_PARAMETERS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"cell parameters schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom"],"description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"values":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}},"HUBBARD":{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["atomic","ortho-atomic","norm-atomic","wf","pseudo"]},"values":{"oneOf":[{"description":"IF DFT+U","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1764","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1784","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}}]}},{"description":"IF DFT+U+J","type":"array","items":{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1817","additionalProperties":false,"properties":{"paramType":{"type":"string","enum":["U","J","B","E2","E3"],"description":"character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals)"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"paramValue":{"type":"number","description":"value of the J0 parameter (in eV)"}}}},{"description":"IF DFT+U+V","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1847","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1865","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1884","additionalProperties":false,"properties":{"V":{"type":"string","enum":["V"],"description":"string constant \"V\"; indicates the specs for the V parameter will be given"},"label(I)":{"type":"string","description":"label of the atom I (as defined in ATOMIC_SPECIES)"},"manifold(I)":{"type":"string","description":"specs of the manifold for atom I (e.g., 3d, 2p...)"},"label(J)":{"type":"string","description":"label of the atom J (as defined in ATOMIC_SPECIES)"},"manifold(J)":{"type":"string","description":"specs of the manifold for atom J (e.g., 3d, 2p...)"},"I":{"type":"integer","description":"index of the atom I"},"J":{"type":"integer","description":"index of the atom J"},"v_val(I,J)":{"type":"number","description":"value of the V parameter for the atom pair I,J (in eV)"}}}]}}]}}}}},{"$id":"apse/materials/builders/slab/pymatgen/parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"Pymatgen Slab Generator Parameters Schema","description":"Parameters for the Pymatgen slab generator. https://github.com/materialsproject/pymatgen/blob/585bb673c4aa222669c4b0d72ffeec3dbf092630/pymatgen/core/surface.py#L1187","type":"object","properties":{"min_vacuum_size":{"description":"Minimum size of the vacuum in layers or angstroms","type":["integer","number"],"minimum":0,"default":0},"in_unit_planes":{"description":"Whether to use unit planes for the vacuum and slab size","type":"boolean","default":true},"reorient_lattice":{"description":"Whether to reorient the lattice to have c vector along the z-axis","type":"boolean","default":true},"symmetrize":{"description":"Whether to symmetrize the slab","type":"boolean","default":true}}},{"$id":"context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"context provider schema","type":"object","required":["name"],"additionalProperties":true,"properties":{"name":{"type":"string","enum":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"],"tsEnumNames":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"]},"domain":{"description":"domain of the context provider","type":"string"},"entityName":{"description":"entity name associated with the context provider","type":"string"},"data":{"description":"data object for the context provider","type":"object"},"extraData":{"description":"additional data object for the context provider","type":"object"},"isEdited":{"description":"flag indicating if the context provider has been edited","type":"boolean"},"context":{"description":"context object for the context provider","type":"object"}}},{"$id":"context-providers-directory/boundary-conditions-data-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Provider Schema","type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"},"electricField":{"type":"number","title":"Electric Field (eV/A)"},"targetFermiEnergy":{"type":"number","title":"Target Fermi Energy (eV)"}}},{"$id":"context-providers-directory/by-application/nwchem-total-energy-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"NWChem Total Energy Context Provider Schema","description":"Schema for NWChemTotalEnergyContextProvider that generates context data for NWChem total energy input.","type":"object","required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN"],"properties":{"CHARGE":{"type":"integer","description":"Total charge of the system."},"MULT":{"type":"integer","description":"Spin multiplicity of the system."},"BASIS":{"type":"string","description":"Basis set label used in the calculation (e.g., '6-31G')."},"NAT":{"type":"integer","description":"Number of atoms in the system."},"NTYP":{"type":"integer","description":"Number of unique atomic species in the system."},"ATOMIC_POSITIONS":{"type":"string","description":"Formatted text block with atomic positions including constraints."},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block with atomic positions without constraints."},"ATOMIC_SPECIES":{"type":"string","description":"Formatted text block for atomic species, including element symbols and masses."},"FUNCTIONAL":{"type":"string","description":"Exchange-correlation functional identifier (e.g., 'B3LYP')."},"CARTESIAN":{"type":"boolean","description":"Whether atomic positions are expressed in cartesian coordinates."}}},{"$id":"context-providers-directory/by-application/qe-neb-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE NEB Context Provider Schema","description":"Schema for QENEBContextProvider that generates context data for Quantum ESPRESSO pw.x NEB input. Extends the pw.x context with image-specific atomic positions.","type":"object","required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES"],"properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","required":["x","y","z"],"additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}}}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},"FIRST_IMAGE":{"type":"string","description":"Atomic positions block (ATOMIC_POSITIONS) for the first NEB image."},"LAST_IMAGE":{"type":"string","description":"Atomic positions block (ATOMIC_POSITIONS) for the last NEB image."},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"type":"string"}}}},{"$id":"context-providers-directory/by-application/qe-pwx-base-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Base Context Provider Schema","description":"Base schema with shared Quantum ESPRESSO pw.x context provider properties.","type":"object","properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","required":["x","y","z"],"additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}}}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}},{"$id":"context-providers-directory/by-application/qe-pwx-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Context Provider Schema","description":"Schema for QEPWXContextProvider that generates context data for Quantum ESPRESSO pw.x input files. Contains computed context properties and string-formatted versions of pw.x input sections.","type":"object","required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS"],"properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","required":["x","y","z"],"additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}}}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}},{"$id":"context-providers-directory/by-application/vasp-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"VASP Context Provider Schema","description":"Schema for VASPContextProvider that generates context data for VASP POSCAR input files.","type":"object","required":["POSCAR","POSCAR_WITH_CONSTRAINTS"],"properties":{"POSCAR":{"type":"string","description":"POSCAR content for VASP including lattice, atom types, positions and constraints."},"POSCAR_WITH_CONSTRAINTS":{"type":"string","description":"POSCAR content for VASP including lattice, atom types, positions and constraints. May differ in how constraints are represented."}}},{"$id":"context-providers-directory/by-application/vasp-neb-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"VASP NEB Context Provider Schema","description":"Schema for VASPNEBContextProvider that generates context data for VASP NEB (nudged elastic band) runs.","type":"object","required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES"],"properties":{"FIRST_IMAGE":{"type":"string","description":"POSCAR content with constraints for the first NEB image."},"LAST_IMAGE":{"type":"string","description":"POSCAR content with constraints for the last NEB image."},"INTERMEDIATE_IMAGES":{"type":"array","description":"POSCAR contents with constraints for all intermediate NEB images.","items":{"type":"string"}}}},{"$id":"context-providers-directory/collinear-magnetization-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Provider Schema","description":"Set starting magnetization, can have values in the range [-1, +1].","type":"object","properties":{"startingMagnetization":{"type":"array","items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"value":{"type":"number","title":"Starting magnetization","minimum":-1,"maximum":1}}}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}}},{"$id":"context-providers-directory/enum","definitions":{"ContextProviderNameEnum":{"type":"string","enum":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"],"tsEnumNames":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"]}}},{"$id":"context-providers-directory/hubbard-j-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Provider Schema","description":"Hubbard parameters for DFT+U+J calculation.","type":"array","minItems":1,"items":{"type":"object","properties":{"paramType":{"type":"string","title":"Species","enum":["U","J","B","E2","E3"]},"atomicSpecies":{"type":"string","title":"Species"},"atomicOrbital":{"type":"string","title":"Orbital"},"value":{"type":"number","title":"Value (eV)"}}}},{"$id":"context-providers-directory/hubbard-legacy-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Provider Schema","description":"Hubbard parameters for DFT+U calculation.","type":"array","uniqueItems":true,"minItems":1,"items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"atomicSpeciesIndex":{"type":"integer","title":"Species index"},"hubbardUValue":{"type":"number","title":"Hubbard U (eV)"}}}},{"$id":"context-providers-directory/hubbard-u-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Provider Schema","description":"Hubbard U parameters for DFT+U or DFT+U+V calculation.","type":"array","items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"atomicOrbital":{"type":"string","title":"Atomic orbital"},"hubbardUValue":{"type":"number","title":"Hubbard U (eV)"}}}},{"$id":"context-providers-directory/hubbard-v-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Provider Schema","description":"Hubbard V parameters for DFT+U+V calculation.","type":"array","minItems":1,"items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Species 1"},"siteIndex":{"type":"integer","title":"Site no 1"},"atomicOrbital":{"type":"string","title":"Orbital 1"},"atomicSpecies2":{"type":"string","title":"Species 2"},"siteIndex2":{"type":"integer","title":"Site no 2"},"atomicOrbital2":{"type":"string","title":"Orbital 2"},"hubbardVValue":{"type":"number","title":"V (eV)"}}}},{"$id":"context-providers-directory/ion-dynamics-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Provider Schema","description":"Important parameters for molecular dynamics calculation","type":"object","properties":{"numberOfSteps":{"type":"integer","title":"numberOfSteps"},"timeStep":{"type":"number","title":"timeStep (Hartree a.u.)"},"electronMass":{"type":"number","title":"Effective electron mass"},"temperature":{"type":"number","title":"Ionic temperature (K)"}}},{"$id":"context-providers-directory/ml-settings-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Provider Schema","description":"Settings important to machine learning runs.","type":"object","properties":{"target_column_name":{"type":"string"},"problem_category":{"type":"string","enum":["regression","classification","clustering"]}}},{"$id":"context-providers-directory/ml-train-test-split-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Provider Schema","description":"Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.","type":"object","properties":{"fraction_held_as_test_set":{"type":"number","minimum":0,"maximum":1}}},{"$id":"context-providers-directory/neb-data-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}},{"$id":"context-providers-directory/non-collinear-magnetization-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Provider Schema","description":"Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.","type":"object","properties":{"isExistingChargeDensity":{"type":"boolean","title":"Use existing charge density"},"isStartingMagnetization":{"type":"boolean","title":"Set starting magnetization"},"startingMagnetization":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","title":"Index"},"atomicSpecies":{"type":"string","title":"Atomic species"},"value":{"type":"number","title":"Starting magnetization"}}}},"isArbitrarySpinAngle":{"type":"boolean","title":"Set arbitrary spin angle"},"spinAngles":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","title":"Index"},"atomicSpecies":{"type":"string","title":"Atomic species"},"angle1":{"type":"number","title":"Angle1 (deg)"},"angle2":{"type":"number","title":"Angle2 (deg)"}}}},"isConstrainedMagnetization":{"type":"boolean","title":"Set constrained magnetization"},"constrainedMagnetization":{"type":"object","properties":{"constrainType":{"type":"string","title":"Constrain type","enum":["none","total","atomic","total direction","atomic direction"]},"lambda":{"type":"number","title":"lambda"}}},"isFixedMagnetization":{"type":"boolean","title":"Set Fixed magnetization (only applicable to constrained magnetization of 'total' type)"},"fixedMagnetization":{"type":"object","properties":{"x":{"type":"number","title":"X-component"},"y":{"type":"number","title":"Y-component"},"z":{"type":"number","title":"Z-component"}}}}},{"$id":"context-providers-directory/planewave-cutoffs-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Provider Schema","description":"Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.","type":"object","properties":{"wavefunction":{"type":"number"},"density":{"type":"number"}}},{"$id":"context-providers-directory/points-grid-data-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"shifts":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"reciprocalVectorRatios":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"gridMetricType":{"type":"string","enum":["KPPRA","spacing"]},"gridMetricValue":{"type":"number"},"preferGridMetric":{"type":"boolean"}}},{"$id":"context-providers-directory/points-path-data-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Provider Schema","description":"Path in reciprocal space for band structure calculations.","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"integer"}}}},{"$id":"core/abstract/2d-data","$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","required":["xDataArray","yDataSeries"],"properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"core/abstract/2d-plot","$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","required":["xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"core/abstract/3d-grid","$schema":"http://json-schema.org/draft-07/schema#","title":"3 dimensional grid schema","type":"object","required":["dimensions","shifts"],"properties":{"dimensions":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"shifts":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$id":"core/abstract/coordinate-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},{"$id":"core/abstract/coordinate-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},{"$id":"core/abstract/matrix-3x3","$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},{"$id":"core/abstract/vector-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},{"$id":"core/abstract/vector-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},{"$id":"core/abstract/vector-boolean-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]},{"$id":"core/primitive/1d-data-series","$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}},{"$id":"core/primitive/array-of-2-numbers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},{"$id":"core/primitive/array-of-3-booleans","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}},{"$id":"core/primitive/array-of-3-integers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},{"$id":"core/primitive/array-of-3-numbers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},{"$id":"core/primitive/array-of-ids","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","required":["id"],"properties":{"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"core/primitive/array-of-strings","$schema":"http://json-schema.org/draft-07/schema#","title":"array of strings","description":"array of strings, e.g. metadata tags","type":"array","items":{"type":"string","uniqueItems":true}},{"$id":"core/primitive/axis","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},{"$id":"core/primitive/axis-3d-names-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},{"$id":"core/primitive/group-info","$schema":"http://json-schema.org/draft-07/schema#","title":"Group info schema for nodes in a graph","type":"object","properties":{"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}},{"$id":"core/primitive/integer-one-or-zero","$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},{"$id":"core/primitive/integer-positive-single-digit","$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9},{"$id":"core/primitive/linked-list/base-node","$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}},{"$id":"core/primitive/linked-list/named-node","$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"},"name":{"description":"entity name","type":"string"}}},{"$id":"core/primitive/linked-list/named-node-in-group","$schema":"http://json-schema.org/draft-07/schema#","title":"Named node in group schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"},"name":{"description":"entity name","type":"string"},"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}},{"$id":"core/primitive/linked-list/node-with-type","$schema":"http://json-schema.org/draft-07/schema#","title":"Typed node schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"type":{"type":"string"},"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}},{"$id":"core/primitive/linked-list","$schema":"http://json-schema.org/draft-07/schema#","title":"linked list schema","type":"array","items":{"type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"},"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node in group schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"},"name":{"description":"entity name","type":"string"},"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Typed node schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"type":{"type":"string"},"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}],"uniqueItems":true}},{"$id":"core/primitive/object-with-id","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","required":["id"],"properties":{"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"core/primitive/object-with-id-and-value","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"core/primitive/scalar","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","required":["value"],"properties":{"value":{"type":"number"}}},{"$id":"core/primitive/slugified-entry","$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","required":["name","slug"],"properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}}},{"$id":"core/primitive/slugified-entry-or-slug","$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},{"$id":"core/primitive/string","$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","required":["value"],"properties":{"value":{"type":"string"}}},{"$id":"core/reference/exabyte","$schema":"http://json-schema.org/draft-07/schema#","type":"object","required":["jobId","unitId"],"properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}}},{"$id":"core/reference/experiment/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","required":["name"],"properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}}},{"$id":"core/reference/experiment/location","$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","required":["latitude","longitude"],"properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}}},{"$id":"core/reference/experiment","$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","required":["conditions","authors","title","method","timestamp"],"properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","required":["name"],"properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}}}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","required":["latitude","longitude"],"properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}}},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}}}}},{"$id":"core/reference/literature/name","$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}},{"$id":"core/reference/literature/pages","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},{"$id":"core/reference/literature","$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},{"$id":"core/reference/modeling/exabyte","$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","required":["title","_id","owner"],"properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}}}},{"$id":"core/reference/modeling","$schema":"http://json-schema.org/draft-07/schema#","title":"info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}}},"required":["title","_id","owner"]}]},{"$id":"core/reference","$schema":"http://json-schema.org/draft-07/schema#","title":"reference schema (using `anyOf` instead of `oneOf` below b/c current reference schemas overlap)","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}}},"required":["title","_id","owner"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","required":["name"],"properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}}}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","required":["latitude","longitude"],"properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}}},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}}}},"required":["conditions","authors","title","method","timestamp"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}}]},{"$id":"core/reusable/atomic-data/per-orbital","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital","description":"Atomic properties per orbital e.g., Hubbard U parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"}}},{"$id":"core/reusable/atomic-data/per-orbital-pair","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$id":"core/reusable/atomic-data/value-number","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}},{"$id":"core/reusable/atomic-data/value-string","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data string properties","description":"String value specific to atomic data","type":"object","properties":{"value":{"type":"string","description":"String value specific to atomic data"}}},{"$id":"core/reusable/atomic-data-per-orbital-numeric","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}},{"$id":"core/reusable/atomic-data-per-orbital-pair-numeric","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}},{"$id":"core/reusable/atomic-orbital","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}},{"$id":"core/reusable/atomic-scalars","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic scalars vectors schema","type":"array","description":"array of objects containing integer id each","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","required":["id"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","required":["value"],"properties":{"value":{"type":"number"}}},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"core/reusable/atomic-string","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"string","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"core/reusable/atomic-vector","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"core/reusable/atomic-vectors","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"core/reusable/band-gap","$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","required":["type","value"],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"value":{"type":"number"}}},{"$id":"core/reusable/categories","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"core/reusable/category-path","$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},{"$id":"core/reusable/coordinate-conditions/base","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","required":["shape"],"properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}}},{"$id":"core/reusable/coordinate-conditions/box","$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$id":"core/reusable/coordinate-conditions/cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$id":"core/reusable/coordinate-conditions/enum","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},{"$id":"core/reusable/coordinate-conditions/index","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}]},{"$id":"core/reusable/coordinate-conditions/plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$id":"core/reusable/coordinate-conditions/sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$id":"core/reusable/coordinate-conditions/triangular-prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$id":"core/reusable/dielectric-tensor-component","$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","required":["part","frequencies","components"],"description":"Schema for a function of frequency yielding a nx3 matrix","properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"},"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}},{"$id":"core/reusable/energy","$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","required":["name","units","value"],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"core/reusable/energy-accuracy-levels","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}},{"$id":"core/reusable/file-metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}},{"$id":"core/reusable/frequency-function-matrix","$schema":"http://json-schema.org/draft-07/schema#","title":"","description":"Schema for a function of frequency yielding a nx3 matrix","type":"object","properties":{"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}},{"$id":"core/reusable/kpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},{"$id":"core/reusable/object-storage-container-data","$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},{"$id":"core/reusable/scalar-with-accuracy-levels","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","required":["accuracy_level","value"],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}},{"$id":"definitions/chemical-elements","title":"Chemical Element Symbols","periodic_table":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},"extra":{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]},"all":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}},{"$id":"definitions/constants","title":"fundamental constants","description":"Fundamental physical constants, 2022 NIST CODATA (https://doi.org/10.48550/arXiv.2409.03787)","type":"object","required":["c","h","e","G","me","eps0","mu0"],"properties":{"c":{"description":"speed of light in vacuum, \"units\": \"m/s\"","type":"number","default":299792458},"h":{"description":"Planck constant, \"units\": \"J s\"","type":"number","default":6.62607015e-34},"e":{"description":"elementary charge, \"units\": \"C\"","type":"number","default":1.602176634e-19},"G":{"description":"Newtonian constant of gravitation, \"units\": \"m^3/kg/s^2\"","type":"number","default":6.6743015e-11},"me":{"description":"electron mass \"units\": \"kg\"","type":"number","default":9.109383713928e-31},"eps0":{"description":"vacuum permittivity, \"units\": \"F/m\"","type":"number","default":8.854187818814e-12},"mu0":{"description":"vacuum permeability, \"units\": \"N/A^2\"","type":"number","default":0.000001256637061272}}},{"$id":"definitions/material","title":"Materials Definitions","form_factor":{"description":"Form factor of the material","enum":["bulk","slab","monolayer","nanoribbon"]},"dimensionality":{"description":"Dimensionality of the material","enum":["zero-dimensional","one-dimensional","two-dimensional","three-dimensional"]}},{"$id":"definitions/units","title":"all units definitions","angle":{"enum":["degree","radian"],"default":"degree"},"coordinates_basis":{"enum":["crystal","cartesian"],"default":"crystal"},"coordinates_lattice_reciprocal":{"enum":["crystal","cartesian"],"default":"crystal"},"length":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"length_atomic":{"enum":["angstrom","bohr"],"default":"angstrom"},"energy":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"energy_atomic":{"enum":["eV","hartree","rydberg"],"default":"eV"},"surface_energy":{"enum":["eV/A^2"]},"force":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]},"volume":{"enum":["cm^3","angstrom^3"]},"numberDensity":{"enum":["1/angstrom^3"]},"density":{"enum":["g/cm^3"]},"frequency":{"enum":["cm-1","THz","meV"]},"pressure":{"enum":["kbar","pa"]},"phononDOS":{"enum":["states/cm-1","states/THz","states/meV"]},"electronicDOS":{"enum":["states/unitcell"]},"magnetic":{"enum":["uB"]},"chargeDensity":{"enum":["e/A"]},"spectralIntensity":{"enum":["(debye/angstrom)^2","km/mol","m/mol","a.u."]}},{"$id":"element","$schema":"http://json-schema.org/draft-07/schema#","title":"element schema","type":"object","properties":{"symbol":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},"properties":{"type":"array","description":"list of elemental properties","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic radius","description":"atomic radius","type":"object","required":["name","value"],"properties":{"name":{"enum":["atomic_radius"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"electronegativity","description":"electronegativity for the element (Pauling scale)","type":"object","required":["name","value"],"properties":{"name":{"enum":["electronegativity"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential elemental property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["ionization_potential"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"value":{"type":"number"}}}]}}}},{"$id":"in-memory-entity/base","$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"in-memory-entity/defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"Defaultable in-memory entity schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"in-memory-entity/has-consistency-check-has-metadata-named-defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"has consistency check has metadata named defaultable in-memory entity schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}}}},{"$id":"in-memory-entity/named","$schema":"http://json-schema.org/draft-07/schema#","title":"Named in-memory entity schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"}}},{"$id":"in-memory-entity/named-defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"in-memory-entity/named-defaultable-has-metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"in-memory-entity/named-defaultable-runtime-items","$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},{"$id":"job/base","$schema":"http://json-schema.org/draft-07/schema#","title":"job base schema","type":"object","required":["status","compute","_project"],"properties":{"rmsId":{"description":"Identity used to track jobs originated from command-line","type":"string"},"status":{"description":"job status","enum":["pre-submission","queued","submitted","active","finished","terminate-queued","terminated","error","deleted","timeout"]},"startTime":{"description":"Approximate start time of the job. e.g. within 10 min","type":"string"},"workDir":{"description":"The path to the working directory of this job, when the job originates from command-line","type":"string"},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}},"_project":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"_material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"parent":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"runtimeContext":{"description":"Context variables that the job will have access to at runtime","type":"object"},"scopeTrack":{"description":"history of the workflow scope on each update","type":"array","items":{"type":"object","properties":{"repetition":{"type":"number"},"scope":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","required":["global","local"],"properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"job/compute","$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}},{"$id":"job","$schema":"http://json-schema.org/draft-07/schema#","title":"job schema","type":"object","required":["_project","compute","status","workflow"],"properties":{"workflow":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","required":["units","subworkflows"],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","required":["application","model","name","units"],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false},"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","type","workflowId"],"additionalProperties":true,"properties":{"type":{"enum":["map"],"description":"type of the unit","type":"string"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["type","flowchartId"],"additionalProperties":true,"properties":{"type":{"enum":["subworkflow"],"description":"type of the unit","type":"string"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"rmsId":{"description":"Identity used to track jobs originated from command-line","type":"string"},"status":{"description":"job status","enum":["pre-submission","queued","submitted","active","finished","terminate-queued","terminated","error","deleted","timeout"]},"startTime":{"description":"Approximate start time of the job. e.g. within 10 min","type":"string"},"workDir":{"description":"The path to the working directory of this job, when the job originates from command-line","type":"string"},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}},"_project":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"_material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"parent":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"runtimeContext":{"description":"Context variables that the job will have access to at runtime","type":"object"},"scopeTrack":{"description":"history of the workflow scope on each update","type":"array","items":{"type":"object","properties":{"repetition":{"type":"number"},"scope":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","required":["global","local"],"properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"material/consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}},{"$id":"material/conventional","$schema":"http://json-schema.org/draft-07/schema#","title":"material conventional schema","type":"object","properties":{"conventional":{"type":"object"}}},{"$id":"material","$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"materials-category/compound-pristine-structures/two-dimensional/interface/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Interface Configuration Schema","description":"A two-dimensional interface between two slabs, optionally including vacuum, with a specified stacking direction.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":3,"description":"Components of the interface: slab, slab and vacuum","items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"xy_shift":{"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane.","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/one-dimensional/grain-boundary-linear/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Grain Boundary Linear Configuration Schema","description":"Configuration for creating a linear grain boundary.","required":["stack_components","direction"],"type":"object","properties":{"stack_components":{"maxItems":2,"type":"array","minItems":2,"description":"Components of the interface: slab, slab and vacuum","items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"x","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"actual_angle":{"type":"number","description":"The actual angle between the two phases","minimum":0,"maximum":360},"xy_shift":{"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane.","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/two-dimensional/adatom/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Adatom Defect Configuration Schema","description":"An adatom point defect configuration where an atom is added to a surface site on a slab.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","required":["coordinate","crystal","element"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}},"required":["chemical_element"]}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/two-dimensional/grain-boundary-planar/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Grain Boundary Planar Configuration Schema","description":"Configuration for creating a grain boundary between two phases.","type":"object","required":["stack_components","direction"],"properties":{"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"stack_components":{"type":"array","minItems":2,"maxItems":3,"description":"Components of the interface: slab, slab and vacuum","items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"xy_shift":{"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane.","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/two-dimensional/island/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Island Defect Configuration Schema","description":"An island defect configuration where a void region is created in a slab, leaving an island of material.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","required":["merge_components","merge_method"],"type":"object","properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","required":["crystal","coordinate_condition"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}]}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/two-dimensional/terrace/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Terrace Defect Configuration Schema","description":"An terrace defect configuration where a void region is created in a slab that is stacked with another slab, creating a terrace.","required":["cut_direction","direction","stack_components"],"type":"object","properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","required":["merge_components","merge_method"],"type":"object","properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","required":["crystal","coordinate_condition"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}]}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"cut_direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/base-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Base Configuration Schema","description":"Base configuration for a point defect in a host crystal using merge operation.","required":["merge_components","merge_method"],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/interstitial","$schema":"http://json-schema.org/draft-07/schema#","title":"Interstitial Point Defect Schema","description":"An interstitial point defect configuration where an atom is added to an interstitial site.","required":["merge_components","merge_method"],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","required":["coordinate","crystal","element"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}},"required":["chemical_element"]}]}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/substitutional","$schema":"http://json-schema.org/draft-07/schema#","title":"Substitutional Point Defect Schema","description":"A substitutional point defect configuration where an atom at a crystal site is replaced with a different element.","required":["merge_components","merge_method"],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","required":["coordinate","crystal","element"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}},"required":["chemical_element"]}]}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/vacancy","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Point Defect Schema","description":"A vacancy point defect configuration where an atom is removed from a crystal site.","required":["merge_components","merge_method"],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","required":["chemical_element"],"properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$id":"materials-category/pristine-structures/three-dimensional/ideal-crystal","$schema":"http://json-schema.org/draft-07/schema#","title":"Ideal Crystal Schema","description":"An ideal, perfect crystal structure","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"materials-category/pristine-structures/two-dimensional/nanoribbon","$schema":"http://json-schema.org/draft-07/schema#","title":"Nanoribbon Configuration Schema","description":"A nanoribbon unit cell consisting of nanotape and vacuum stacked in X direction.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"NanoTape Configuration Schema","description":"A nanotape unit cell consisting of crystal lattice lines and vacuum stacked in Y direction.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","required":["crystal","miller_indices_2d","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"},"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"y","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"x","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/pristine-structures/two-dimensional/nanotape","$schema":"http://json-schema.org/draft-07/schema#","title":"NanoTape Configuration Schema","description":"A nanotape unit cell consisting of crystal lattice lines and vacuum stacked in Y direction.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","required":["crystal","miller_indices_2d","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"},"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"y","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/pristine-structures/two-dimensional/slab","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/pristine-structures/two-dimensional/slab-strained-supercell","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/processed-structures/two-dimensional/passivation/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Passivation Configuration Schema","description":"Configuration for a passivation that adds passivating atoms to a material surface.","required":["bond_length","merge_components","merge_method","passivant"],"properties":{"merge_components":{"type":"array","minItems":2,"items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","required":["coordinate","crystal","element"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}},"required":["chemical_element"]}]}}}]}},"merge_method":{"default":"ADD","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]},"passivant":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","required":["chemical_element"],"properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}}},"bond_length":{"type":"number","default":1,"description":"The bond length for the passivating atoms"}}},{"$id":"materials-category-components/entities/auxiliary/one-dimensional/miller-indices-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},{"$id":"materials-category-components/entities/auxiliary/three-dimensional/supercell-matrix-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 3D Schema","description":"3x3 matrix of integers for transforming a unit cell into a supercell","type":"array","minItems":3,"maxItems":3,"default":[[1,0,0],[0,1,0],[0,0,1]],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}}},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/miller-indices","$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/supercell-matrix-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/termination","$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/crystal-site","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","required":["crystal","coordinate"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/point-defect-site","$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","required":["coordinate","crystal","element"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}},"required":["chemical_element"]}]}}},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/void-region","$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","required":["crystal","coordinate_condition"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}]}}},{"$id":"materials-category-components/entities/core/three-dimensional/crystal","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"materials-category-components/entities/core/three-dimensional/void","$schema":"http://json-schema.org/draft-07/schema#","title":"Void Schema","description":"A void that can be placed into a crystal, removing all atoms inside","type":"object","required":["center_coordinate","shape"],"properties":{"center_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}]}}},{"$id":"materials-category-components/entities/core/two-dimensional/vacuum","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}},{"$id":"materials-category-components/entities/core/zero-dimensional/atom","$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","required":["chemical_element"],"properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}}},{"$id":"materials-category-components/entities/core/zero-dimensional/vacancy","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","required":["chemical_element"],"properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}}},{"$id":"materials-category-components/entities/reusable/one-dimensional/crystal-lattice-lines","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Schema","description":"A set of crystal lattice lines defined by 2D Miller indices","type":"object","required":["crystal","miller_indices_2d"],"properties":{"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/one-dimensional/crystal-lattice-lines-unique-repeated","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","required":["crystal","miller_indices_2d","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"},"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/three-dimensional/crystal-lattice-base","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","required":["crystal"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/three-dimensional/repetitions","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Repetitions Schema","description":"Number of unit cells to repeat in each direction for a crystal structure.","type":"array","minItems":3,"maxItems":3,"default":[1,1,1],"items":{"type":"integer","minimum":1}},{"$id":"materials-category-components/entities/reusable/three-dimensional/strained-non-uniform","$schema":"http://json-schema.org/draft-07/schema#","title":"Non-Uniformly Strained Crystal Configuration Schema","description":"A crystal structure with non-uniform strain applied using a strain matrix","type":"object","required":["crystal","strain_matrix"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}},{"$id":"materials-category-components/entities/reusable/three-dimensional/strained-uniform","$schema":"http://json-schema.org/draft-07/schema#","title":"Uniformly Strained Crystal Configuration Schema","description":"A crystal structure with uniform strain applied","type":"object","required":["crystal","strain_percentage"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"strain_percentage":{"type":"number","description":"Percentage of uniform strain to apply to the crystal structure"}}},{"$id":"materials-category-components/entities/reusable/three-dimensional/supercell","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Configuration Schema","description":"A repeated crystal structure defined by a transformation matrix","type":"object","required":["crystal","matrix"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Schema","description":"A set of atomic layers defined by a plane in a crystal structure with specific terminations","type":"object","required":["crystal","miller_indices","terminations"],"properties":{"terminations":{"type":"array","minItems":1,"description":"All possible terminations for this orientation.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}}},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers-unique","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Schema","description":"A set of unique atomic layers defined by a plane in a crystal structure, including all possible terminations","type":"object","required":["crystal","miller_indices","terminations"],"properties":{"terminations":{"type":"array","minItems":1,"description":"All possible terminations for this orientation.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}}},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers-unique-repeated","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/two-dimensional/crystal-lattice-planes","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","required":["crystal","miller_indices"],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/two-dimensional/slab-stack-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Stack Configuration Schema","description":"Base configuration for a slab stack with another component and vacuum in the z-direction.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"type":"object"},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category-components/operations/core/combinations/enums","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]},{"$id":"materials-category-components/operations/core/combinations/merge","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","required":["merge_components","merge_method"],"properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$id":"materials-category-components/operations/core/combinations/stack","$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category-components/operations/core/modifications/perturb","$schema":"http://json-schema.org/draft-07/schema#","title":"Perturbation Schema","description":"A perturbation operation that modifies a configuration by applying a perturbation to atoms coordinates.","type":"object","properties":{"material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","required":["basis","lattice"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"perturbation_function":{"type":"string","description":"A function that defines the perturbation (delta in coordinates) to be applied to the atomic coordinates."}}},{"$id":"materials-category-components/operations/core/modifications/repeat","$schema":"http://json-schema.org/draft-07/schema#","title":"Repeat Schema","properties":{"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 3D Schema","description":"3x3 matrix of integers for transforming a unit cell into a supercell","type":"array","minItems":3,"maxItems":3,"default":[[1,0,0],[0,1,0],[0,0,1]],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}}}}},{"$id":"materials-category-components/operations/core/modifications/strain","$schema":"http://json-schema.org/draft-07/schema#","title":"Strain Schema","properties":{"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}},{"$id":"method/categorized-method","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized method","type":"object","required":["units"],"properties":{"units":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"method/method-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"MethodParameters","oneOf":[{"type":"object","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}},{"type":"object","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}},{"type":"object","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}}]},{"$id":"method/unit-method","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"method","$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}},{"$id":"methods-category/mathematical/diff/enum-options","finiteDifference":{"enum":["fd"]}},{"$id":"methods-category/mathematical/diff/fd","$schema":"http://json-schema.org/draft-07/schema#","title":"Finite difference method category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["fd"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/diff","$schema":"http://json-schema.org/draft-07/schema#","title":"Numerical differentiation category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr/enum-options","meshing":{"enum":["mesh"]}},{"$id":"methods-category/mathematical/discr/mesh/enum-options","hybridMesh":{"enum":["hybrid"]},"unstructuredMesh":{"enum":["nstruct"]},"structuredMesh":{"enum":["struct"]}},{"$id":"methods-category/mathematical/discr/mesh/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid meshing category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["hybrid"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["mesh"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr/mesh/nstruct","$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category nstruct schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["nstruct"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["mesh"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr/mesh/struct/cartesian","$schema":"http://json-schema.org/draft-07/schema#","title":"Cartesian grid schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["cartesian"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["struct"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["mesh"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr/mesh/struct/enum-options","cartesian":{"enum":["cartesian"]}},{"$id":"methods-category/mathematical/discr/mesh/struct","$schema":"http://json-schema.org/draft-07/schema#","title":"Structured meshing category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["struct"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["mesh"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr/mesh","$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["mesh"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr","$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/enum-options","differentiation":{"enum":["diff"]},"discretization":{"enum":["discr"]},"functionApproximation":{"enum":["fapprx"]},"integration":{"enum":["intgr"]},"linearAlgebra":{"enum":["linalg"]},"optimization":{"enum":["opt"]},"regressionTypes":{"enum":["linear","kernel_ridge"]},"regressionSubtypes":{"enum":["least_squares","ridge"]}},{"$id":"methods-category/mathematical/fapprx/basisexp","$schema":"http://json-schema.org/draft-07/schema#","title":"Basis expansion category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["basisExp"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/fapprx/enum-options","basisExpansion":{"enum":["basisExp"]},"interpolation":{"enum":["ipol"]}},{"$id":"methods-category/mathematical/fapprx/ipol/enum-options","linear":{"enum":["lin"]},"polynomial":{"enum":["poly"]},"spline":{"enum":["spline"]}},{"$id":"methods-category/mathematical/fapprx/ipol/lin","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear interpolation category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["lin"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ipol"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/fapprx/ipol/poly","$schema":"http://json-schema.org/draft-07/schema#","title":"Polynomial interpolation category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["poly"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ipol"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/fapprx/ipol/spline","$schema":"http://json-schema.org/draft-07/schema#","title":"Spline interpolation category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["spline"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ipol"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/fapprx/ipol","$schema":"http://json-schema.org/draft-07/schema#","title":"Interpolation category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["ipol"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/fapprx","$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/analytic/enum-options","volume":{"enum":["volume"]},"volumeSubtypes":{"enum":["sphere","cube","rect-prism","tri-prism","cylinder","cone","tetrahedron","sq-pyr"]}},{"$id":"methods-category/mathematical/intgr/analytic/volume","$schema":"http://json-schema.org/draft-07/schema#","title":"Analytic volume integral category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["volume"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["sphere","cube","rect-prism","tri-prism","cylinder","cone","tetrahedron","sq-pyr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["analytic"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/analytic","$schema":"http://json-schema.org/draft-07/schema#","title":"Analytic integral category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["analytic"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/diffeq/enum-options","firstOrder":{"enum":["order1"]},"secondOrder":{"enum":["order2"]}},{"$id":"methods-category/mathematical/intgr/diffeq/order1","$schema":"http://json-schema.org/draft-07/schema#","description":"Categories for the numerical integration of differential equations","type":"object","title":"Order1 schema","properties":{"tier3":{"enum":["order1"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diffeq"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/diffeq/order2","$schema":"http://json-schema.org/draft-07/schema#","description":"Categories for the numerical integration of differential equations","type":"object","title":"Order2 schema","properties":{"tier3":{"enum":["order2"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diffeq"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/diffeq","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical integration of differential equations schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["diffeq"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/enum-options","analytic":{"enum":["analytic"]},"differentialEquation":{"enum":["diffeq"]},"numericalQuadrature":{"enum":["numquad"]},"transformation":{"enum":["transf"]}},{"$id":"methods-category/mathematical/intgr/numquad/enum-options","gaussQuadrature":{"enum":["gauss"]},"newtonCotes":{"enum":["newcot"]}},{"$id":"methods-category/mathematical/intgr/numquad/gauss","$schema":"http://json-schema.org/draft-07/schema#","title":"Gaussian quadrature rules schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["gauss"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["numquad"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/numquad/newcot","$schema":"http://json-schema.org/draft-07/schema#","title":"Newton-Cotes quadrature rules schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["newcot"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["numquad"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/numquad","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical quadrature schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["numquad"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/transf/enum-options","fourierTransformation":{"enum":["fourier"]}},{"$id":"methods-category/mathematical/intgr/transf/fourier","$schema":"http://json-schema.org/draft-07/schema#","description":"Fourier transform methods","title":"Fourier transform methods schema","type":"object","properties":{"type":{"enum":["fourier"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["transf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/transf","$schema":"http://json-schema.org/draft-07/schema#","description":"Integral transform methods","title":"Integral transform methods schema","type":"object","properties":{"tier2":{"enum":["transf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr","$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg/dcomp","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix decomposition methods schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["dcomp"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg/diag/davidson","$schema":"http://json-schema.org/draft-07/schema#","title":"Davidson diagonalization method schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["davidson"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diag"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg/diag/enum-options","davidson":{"enum":["davidson"]}},{"$id":"methods-category/mathematical/linalg/diag","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix diagonalization methods schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["diag"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg/enum-options","decomposition":{"enum":["dcomp"]},"diagonalization":{"enum":["diag"]},"linearTransformation":{"enum":["lintra"]},"matrixFunction":{"enum":["matf"]}},{"$id":"methods-category/mathematical/linalg/lintra","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear transformation methods schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["lintra"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg/matf","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix function methods schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["matf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/bracket","$schema":"http://json-schema.org/draft-07/schema#","title":"Bracket algorithms for the optimization of differentiable functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["bracket"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/enum-options","bracketing":{"enum":["bracket"]},"localDescent":{"enum":["local"]},"firstOrder":{"enum":["order1"]},"secondOrder":{"enum":["order2"]},"nOrder":{"enum":["ordern"]}},{"$id":"methods-category/mathematical/opt/diff/local","$schema":"http://json-schema.org/draft-07/schema#","title":"Local descent methods for the optimization of differentiable functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["local"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/order1","$schema":"http://json-schema.org/draft-07/schema#","title":"First order algorithms for the optimization of differentiable functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["order1"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/order2","$schema":"http://json-schema.org/draft-07/schema#","title":"Second order algorithms for the optimization of differentiable functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["order2"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/ordern/cg","$schema":"http://json-schema.org/draft-07/schema#","title":"Conjugate gradient method schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["cg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["ordern"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/ordern/enum-options","conjugateGradient":{"enum":["cg"]}},{"$id":"methods-category/mathematical/opt/diff/ordern","$schema":"http://json-schema.org/draft-07/schema#","title":"Mixed order and higher order algorithms for the optimization of differentiable functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["ordern"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff","$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/enum-options","differentiable":{"enum":["diff"]},"nonDifferentiable":{"enum":["ndiff"]},"rootFinding":{"enum":["root"]}},{"$id":"methods-category/mathematical/opt/ndiff/direct","$schema":"http://json-schema.org/draft-07/schema#","title":"Direct algorithms for the optimization of non-differentiable functions category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["direct"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ndiff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/ndiff/enum-options","direct":{"enum":["direct"]},"population":{"enum":["pop"]},"stochastic":{"enum":["stoch"]}},{"$id":"methods-category/mathematical/opt/ndiff/pop","$schema":"http://json-schema.org/draft-07/schema#","title":"Population algorithms for the optmization of non-differentiable functions category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["pop"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ndiff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/ndiff/stoch","$schema":"http://json-schema.org/draft-07/schema#","title":"Stochastic algorithms for the optmization of non-differentiable functions category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["stoch"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ndiff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/ndiff","$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for non-differentiable functions category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["ndiff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/root/bracket","$schema":"http://json-schema.org/draft-07/schema#","title":"Bracketing method for finding roots category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["bracket"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["root"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/root/enum-options","iterative":{"enum":["iterative"]},"bracketing":{"enum":["bracket"]}},{"$id":"methods-category/mathematical/opt/root/iter","$schema":"http://json-schema.org/draft-07/schema#","title":"Iterative method for root finding category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["iterative"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["root"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/root","$schema":"http://json-schema.org/draft-07/schema#","title":"Root finding category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["root"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt","$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"linear methods category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["linear","kernel_ridge"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["least_squares","ridge"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/enum-options","quantumMechanical":{"enum":["qm"]}},{"$id":"methods-category/physical/qm/enum-options","wavefunction":{"enum":["wf"]}},{"$id":"methods-category/physical/qm/wf/ao/dunning","$schema":"http://json-schema.org/draft-07/schema#","title":"Dunning correlation-consistent basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["dunning"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/ao/other","$schema":"http://json-schema.org/draft-07/schema#","title":"Other (neither Pople nor Dunning) basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["other"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/ao/pople","$schema":"http://json-schema.org/draft-07/schema#","title":"Pople basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["pople"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/ao","$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["pople","dunning","other"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/enum-options","planewave":{"enum":["pw"]},"atomicOrbital":{"enum":["ao"]},"wavelet":{"enum":["wvl"]},"smearing":{"enum":["smearing"]},"tetrahedron":{"enum":["tetrahedron"]},"pseudization":{"enum":["psp"]},"pseudoSubtypes":{"enum":["us","nc","nc-fr","paw","coulomb"]},"smearingSubtypes":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"]},"tetrahedronSubtypes":{"enum":["linear","optimized","bloechl"]},"aoTypes":{"enum":["pople","dunning","other"]}},{"$id":"methods-category/physical/qm/wf/psp","$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["psp"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["us","nc","nc-fr","paw","coulomb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/pw","$schema":"http://json-schema.org/draft-07/schema#","title":"Plane wave catgeory schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["pw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/smearing","$schema":"http://json-schema.org/draft-07/schema#","title":"Smearing methods category schema","description":"Approximating Heaviside step function with smooth function","type":"object","properties":{"type":{"enum":["smearing"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/tetrahedron","$schema":"http://json-schema.org/draft-07/schema#","title":"Tetrahedron method for Brillouin zone integration category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["tetrahedron"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["linear","optimized","bloechl"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm","$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-directory/legacy/localorbital","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method localorbital","type":"object","required":["type","subtype"],"properties":{"type":{"const":"localorbital","description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"const":"pople","description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}},{"$id":"methods-directory/legacy/pseudopotential","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method pseudopotential","type":"object","required":["type","subtype"],"properties":{"type":{"const":"pseudopotential","description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"enum":["paw","nc","us","any"],"default":"us","description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}},{"$id":"methods-directory/legacy/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method regression","type":"object","required":["data","precision","subtype","type"],"properties":{"type":{"enum":["linear","kernel_ridge"],"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"enum":["least_squares","ridge"],"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","description":"Object showing the actual possible precision based on theory and implementation","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","required":["trainingError"],"properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}}}}}},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","description":"additional data specific to method, eg. array of pseudopotentials","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","required":["exabyteIds"],"properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}}}}}}},{"$id":"methods-directory/legacy/unknown","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method unknown","type":"object","required":["type","subtype"],"properties":{"type":{"const":"unknown","description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"const":"unknown","description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}},{"$id":"methods-directory/mathematical/cg","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit method conjugate gradient","description":"conjugate gradient method schema","type":"object","required":["categories"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Conjugate gradient method schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["cg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["ordern"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/mathematical/davidson","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit method davidson schema","description":"Davidson diagonalization method","type":"object","required":["categories"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Davidson diagonalization method schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["davidson"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diag"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/mathematical/regression/data","$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","required":["exabyteIds"],"properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}}}}},{"$id":"methods-directory/mathematical/regression/dataset","$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","required":["exabyteIds"],"properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}}},{"$id":"methods-directory/mathematical/regression/kernel-ridge/data-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","required":["xFit","dualCoefficients","perFeature"],"properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}}},{"$id":"methods-directory/mathematical/regression/linear/data-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","required":["intercept","perFeature"],"properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}}},{"$id":"methods-directory/mathematical/regression/per-feature-item","$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}},{"$id":"methods-directory/mathematical/regression/precision","$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","required":["trainingError"],"properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}}}}}},{"$id":"methods-directory/mathematical/regression/precision-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","required":["trainingError"],"properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}}},{"$id":"methods-directory/mathematical/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method regression","type":"object","required":["categories","precision","data"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear methods category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["linear","kernel_ridge"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["least_squares","ridge"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"precision":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","description":"Object showing the actual possible precision based on theory and implementation","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","required":["trainingError"],"properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}}}}}},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","required":["exabyteIds"],"properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}}}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/ao/dunning","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao dunning","description":"Dunning correlation-consistent basis set unit method","type":"object","required":["categories"],"definitions":{"ao-basis-dunning":{"type":"object","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}}},"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dunning correlation-consistent basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["dunning"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Instructive parameters defining the method","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/ao/enum-options","popleAoBasis":{"enum":["3-21G","6-31G","6-311G"]},"dunningAoBasis":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]},"otherAoBasis":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}},{"$id":"methods-directory/physical/ao/other","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao other","description":"Other (neither Pople nor Dunning) basis set unit method","type":"object","required":["categories"],"definitions":{"ao-basis-other":{"type":"object","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}}},"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Other (neither Pople nor Dunning) basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["other"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Instructive parameters defining the method","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/ao/pople","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao pople","description":"Pople basis set unit method","type":"object","required":["categories"],"definitions":{"ao-basis-pople":{"type":"object","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}}},"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pople basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["pople"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Instructive parameters defining the method","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/psp/file","$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential file","type":"object","properties":{"slug":{"enum":["pseudopotential"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","required":["element","type","exchangeCorrelation","source","path","apps","name","hash"],"properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}}}}}},"source":{"type":"object","description":"TODO: remove in the future","properties":{"info":{"type":"object"},"type":{"type":"string"}}}}},{"$id":"methods-directory/physical/psp/file-data-item","$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","required":["element","type","exchangeCorrelation","source","path","apps","name","hash"],"properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}}}}}},{"$id":"methods-directory/physical/psp","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method pseudopotential","description":"Core-valence separation by means of pseudopotentials (effective potential)","type":"object","required":["categories"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["psp"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["us","nc","nc-fr","paw","coulomb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"data":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential file","type":"object","properties":{"slug":{"enum":["pseudopotential"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","required":["element","type","exchangeCorrelation","source","path","apps","name","hash"],"properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}}}}}},"source":{"type":"object","description":"TODO: remove in the future","properties":{"info":{"type":"object"},"type":{"type":"string"}}}}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/pw","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method plane wave","description":"Approximating the electronic wave function with a plane wave basis","type":"object","required":["categories"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane wave catgeory schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["pw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/smearing","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method smearing","description":"Approximating Heaviside step function with smooth function","type":"object","required":["categories"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Smearing methods category schema","description":"Approximating Heaviside step function with smooth function","type":"object","properties":{"type":{"enum":["smearing"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/tetrahedron","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method tetrahedron","type":"object","required":["categories"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Tetrahedron method for Brillouin zone integration category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["tetrahedron"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["linear","optimized","bloechl"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"model/categorized-model","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized model","type":"object","required":["categories","method","parameters"],"properties":{"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized method","type":"object","required":["units"],"properties":{"units":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"model/mixins/dft/double-hybrid-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","properties":{"functional":{"enum":["b2plyp"]}}},{"$id":"model/mixins/dft/enum-options","lda":{"enum":["pz"]},"gga":{"enum":["pbe","pbesol"]},"mgga":{"enum":["scan"]},"hybrid":{"enum":["hse06","b3lyp"]},"doubleHybrid":{"enum":["b2plyp"]}},{"$id":"model/mixins/dft/gga-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","additionalProperties":true,"properties":{"functional":{"enum":["pbe","pbesol"]}}},{"$id":"model/mixins/dft/hybrid-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","properties":{"functional":{"enum":["hse06","b3lyp"]}}},{"$id":"model/mixins/dft/lda-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","additionalProperties":true,"properties":{"functional":{"enum":["pz"]}}},{"$id":"model/mixins/dft/mgga-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","additionalProperties":true,"properties":{"functional":{"enum":["scan"]}}},{"$id":"model/mixins/dispersion-correction","$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$id":"model/mixins/enum-options","spinPolarization":{"enum":["collinear","non-collinear"]},"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]},"hubbardType":{"enum":["u"]}},{"$id":"model/mixins/hubbard","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}},{"$id":"model/mixins/spin-orbit-coupling","$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","additionalProperties":true,"properties":{"spinOrbitCoupling":{"type":"boolean"}}},{"$id":"model/mixins/spin-polarization","$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","additionalProperties":true,"properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}}},{"$id":"model/model-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"ModelParameters","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","properties":{"functional":{"enum":["hse06","b3lyp"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","properties":{"functional":{"enum":["b2plyp"]}}}],"additionalProperties":true,"properties":{"hubbardType":{"enum":["u"]},"spinPolarization":{"enum":["collinear","non-collinear"]},"spinOrbitCoupling":{"type":"boolean"},"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$id":"model/model-without-method","$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","required":["categories","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"model","$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},{"$id":"models-category/enum-options","physicsBased":{"enum":["pb"]},"statistical":{"enum":["st"]}},{"$id":"models-category/pb/enum-options","quantumMechanical":{"enum":["qm"]}},{"$id":"models-category/pb/qm/abin/enum-options","gwApproximation":{"enum":["gw"]},"gwSubtypes":{"enum":["g0w0","evgw0","evgw"]}},{"$id":"models-category/pb/qm/abin/gw","$schema":"http://json-schema.org/draft-07/schema#","title":"GW category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["gw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["g0w0","evgw0","evgw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["abin"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/abin","$schema":"http://json-schema.org/draft-07/schema#","title":"Ab initio category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["abin"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/enum-options","kohnSham":{"enum":["ksdft"]}},{"$id":"models-category/pb/qm/dft/ksdft/double-hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT double hybrid functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["double-hybrid"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/ksdft/enum-options","localDensityApproximation":{"enum":["lda"]},"generalizedGradientApproximation":{"enum":["gga"]},"metaGGA":{"enum":["mgga"]},"hybrid":{"enum":["hybrid"]},"doubleHybrid":{"enum":["double-hybrid"]}},{"$id":"models-category/pb/qm/dft/ksdft/gga","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["gga"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/ksdft/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["hybrid"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/ksdft/lda","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["lda"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/ksdft/mgga","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT meta-GGA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["mgga"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/ksdft","$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft","$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/enum-options","abInitio":{"enum":["abin"]},"densityFunctional":{"enum":["dft"]},"semiEmpirical":{"enum":["semp"]}},{"$id":"models-category/pb/qm/semp","$schema":"http://json-schema.org/draft-07/schema#","title":"Semi-empirical category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["semp"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm","$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb","$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/st/det/enum-options","machineLearning":{"enum":["ml"]}},{"$id":"models-category/st/det/ml/enum-options","regression":{"enum":["re"]}},{"$id":"models-category/st/det/ml/re","$schema":"http://json-schema.org/draft-07/schema#","title":"regression model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["re"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["ml"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["det"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["st"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/st/det/ml","$schema":"http://json-schema.org/draft-07/schema#","title":"machine learning model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["ml"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["det"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["st"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/st/det","$schema":"http://json-schema.org/draft-07/schema#","title":"deterministic model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["det"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["st"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/st/enum-options","deterministic":{"enum":["det"]}},{"$id":"models-category/st","$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["st"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-directory/double-hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"model double hybrid functional","type":"object","required":["categories","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT double hybrid functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["double-hybrid"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true}],"description":"Model parameters defined in-place or via model mixins","properties":{"functional":{"enum":["b2plyp"]}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/gga","$schema":"http://json-schema.org/draft-07/schema#","title":"model generalized gradient approximation","type":"object","required":["categories","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["gga"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}],"description":"Model parameters defined in-place or via model mixins","additionalProperties":true,"properties":{"functional":{"enum":["pbe","pbesol"]}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/gw","$schema":"http://json-schema.org/draft-07/schema#","title":"model gw approximation","type":"object","required":["categories","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"GW category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["gw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["g0w0","evgw0","evgw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["abin"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true}],"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true}],"description":"Model parameters defined in-place or via model mixins","properties":{"require":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"model hybrid functional","type":"object","required":["categories","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["hybrid"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}],"description":"Model parameters defined in-place or via model mixins","properties":{"functional":{"enum":["hse06","b3lyp"]}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/lda","$schema":"http://json-schema.org/draft-07/schema#","title":"model local density approximation","type":"object","required":["categories","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["lda"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}],"description":"Model parameters defined in-place or via model mixins","additionalProperties":true,"properties":{"functional":{"enum":["pz"]}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/legacy/dft","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model density functional theory","type":"object","definitions":{"lda":{"properties":{"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]}}},"gga":{"properties":{"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]}}},"hybrid":{"properties":{"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06"]}}}},"required":["type","subtype","method"],"oneOf":[{"properties":{"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]}}},{"properties":{"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]}}},{"properties":{"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06"]}}}],"additionalProperties":true,"properties":{"type":{"const":"dft","description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},{"$id":"models-directory/legacy/ml","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model regression","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"enum":["ml"],"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"enum":["re"],"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},{"$id":"models-directory/legacy/unknown","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model unknown","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"enum":["unknown"],"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"enum":["unknown"],"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},{"$id":"models-directory/mgga","$schema":"http://json-schema.org/draft-07/schema#","title":"model meta generalized gradient approximation","type":"object","required":["categories","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT meta-GGA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["mgga"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}],"description":"Model parameters defined in-place or via model mixins","additionalProperties":true,"properties":{"functional":{"enum":["scan"]}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/re","$schema":"http://json-schema.org/draft-07/schema#","title":"model regression","description":"machine learning model type/subtype schema","type":"object","required":["categories","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["re"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["ml"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["det"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["st"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"project","$schema":"http://json-schema.org/draft-07/schema#","title":"project schema","type":"object","properties":{"gid":{"description":"project GID","type":"number"},"clusterBasedChargeRates":{"description":"charge rates info for project","type":"array","items":{"type":"object","properties":{"rate":{"type":"number"},"timestamp":{"type":"number"},"hostname":{"type":"string"}}}},"isExternal":{"type":"boolean","default":false},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"properties-directory/derived-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},{"$id":"properties-directory/electronic-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"electronic configuration schema","type":"object","properties":{"charge":{"description":"total charge of the molecular system","type":"integer"},"multiplicity":{"description":"calculated as 2S+1, with S is the total spin angular momentum","type":"integer"}}},{"$id":"properties-directory/elemental/atomic-radius","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic radius","description":"atomic radius","type":"object","required":["name","value"],"properties":{"name":{"enum":["atomic_radius"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"value":{"type":"number"}}},{"$id":"properties-directory/elemental/electronegativity","$schema":"http://json-schema.org/draft-07/schema#","title":"electronegativity","description":"electronegativity for the element (Pauling scale)","type":"object","required":["name","value"],"properties":{"name":{"enum":["electronegativity"]},"value":{"type":"number"}}},{"$id":"properties-directory/elemental/ionization-potential","$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential elemental property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["ionization_potential"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"value":{"type":"number"}}},{"$id":"properties-directory/jupyter-notebook-endpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter notebook endpoint property schema","type":"object","required":["name","host","port","token"],"properties":{"name":{"enum":["jupyter_notebook_endpoint"]},"host":{"type":"string"},"port":{"type":"number"},"token":{"type":"string"}}},{"$id":"properties-directory/non-scalar/average-potential-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Average potential profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"],"description":"units for an axis","type":"string"}}},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["average_potential_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/band-gaps","$schema":"http://json-schema.org/draft-07/schema#","title":"Band gaps property schema","description":"contains band gap values","type":"object","required":["name","values"],"properties":{"name":{"enum":["band_gaps"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","required":["type","value"],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"value":{"type":"number"}}}},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"kpoint":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"weight":{"type":"number"},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"spin":{"type":"number"},"energies":{"type":"array"},"occupations":{"type":"array"}}}}}}}}},{"$id":"properties-directory/non-scalar/band-structure","$schema":"http://json-schema.org/draft-07/schema#","title":"Band structure property schema","type":"object","required":["name","spin","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["kpoints"],"description":"label of an axis object","type":"string"},"units":{"enum":["crystal","cartesian"],"default":"crystal","description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["band_structure"]},"spin":{"description":"spin of each band","type":"array","items":{"type":"number","enum":[0.5,-0.5]}},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/charge-density-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Charge density profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["charge density"],"description":"label of an axis object","type":"string"},"units":{"enum":["e/A"],"description":"units for an axis","type":"string"}}},"name":{"enum":["charge_density_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/density-of-states","$schema":"http://json-schema.org/draft-07/schema#","title":"Density of states property schema","type":"object","required":["legend","name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["density of states"],"description":"label of an axis object","type":"string"},"units":{"enum":["states/unitcell"],"description":"units for an axis","type":"string"}}},"name":{"enum":["density_of_states"]},"legend":{"type":"array","items":{"type":"object","properties":{"element":{"description":"chemical element","type":"string"},"index":{"description":"index inside sub-array of atoms of the same element type","type":"integer"},"electronicState":{"description":"electronic character and shell of PDOS, such as `1s` or `s`, or `total`","type":"string","pattern":"^([1-5]{1})?(s|p|d|f|g).*$"},"spin":{"description":"spin of the electronic state","type":"number","enum":[0.5,-0.5]}}}},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/dielectric-tensor","$schema":"http://json-schema.org/draft-07/schema#","title":"dielectric tensor property schema","description":"The real and imaginary parts of the diagonal elements of the dieletric tensor","type":"object","required":["name","values"],"properties":{"name":{"enum":["dielectric_tensor"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","required":["part","frequencies","components"],"description":"Schema for a function of frequency yielding a nx3 matrix","properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"},"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}}}},{"$id":"properties-directory/non-scalar/file-content","$schema":"http://json-schema.org/draft-07/schema#","title":"File content property schema","type":"object","required":["name","filetype","objectData"],"properties":{"name":{"enum":["file_content"]},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string","enum":["image","text","csv"],"$comment":"isGenerative:true"},"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"}}},{"$id":"properties-directory/non-scalar/final-structure","$schema":"http://json-schema.org/draft-07/schema#","title":"Final structure property schema","type":"object","required":["name","isRelaxed","materialId"],"properties":{"name":{"enum":["final_structure"]},"isRelaxed":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}}},{"$id":"properties-directory/non-scalar/hubbard-u","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U parameters property schema","description":"Hubbard U values in eV corresponding to atomic species, orbital and site number.","type":"object","required":["name","values","units"],"properties":{"name":{"enum":["hubbard_u"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","atomicSpecies","orbitalName","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$id":"properties-directory/non-scalar/hubbard-v","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V parameters property schema","description":"Hubbard V values corresponding to atomic pairs","type":"object","required":["name","units","values"],"properties":{"name":{"enum":["hubbard_v"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","id2","atomicSpecies","atomicSpecies2","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$id":"properties-directory/non-scalar/hubbard-v-nn","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V NN parameters property schema","description":"Hubbard V value in eV for nearest neighbors used in hp.x output parsing","type":"object","required":["name","units","values"],"properties":{"name":{"enum":["hubbard_v_nn"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","id2","atomicSpecies","atomicSpecies2","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$id":"properties-directory/non-scalar/is-relaxed","$schema":"http://json-schema.org/draft-07/schema#","title":"Is relaxed property schema","type":"object","required":["name","value","materialId"],"properties":{"name":{"enum":["is_relaxed"]},"value":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}}},{"$id":"properties-directory/non-scalar/phonon-dispersions","$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon band structure property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["qpoints"],"description":"label of an axis object","type":"string"},"units":{"enum":["crystal","cartesian"],"default":"crystal","description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["frequency"],"description":"label of an axis object","type":"string"},"units":{"enum":["cm-1","THz","meV"],"description":"units for an axis","type":"string"}}},"name":{"enum":["phonon_dispersions"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/phonon-dos","$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon density of states property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["frequency"],"description":"label of an axis object","type":"string"},"units":{"enum":["cm-1","THz","meV"],"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["Phonon DOS"],"description":"label of an axis object","type":"string"},"units":{"enum":["states/cm-1","states/THz","states/meV"],"description":"units for an axis","type":"string"}}},"name":{"enum":["phonon_dos"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/potential-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Potential profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["potential_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/reaction-energy-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["reaction coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["reaction_energy_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/stress-tensor","$schema":"http://json-schema.org/draft-07/schema#","title":"Stress tensor property schema","type":"object","required":["name","value","units"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"name":{"enum":["stress_tensor"]},"units":{"enum":["kbar","pa"]}}},{"$id":"properties-directory/non-scalar/total-energy-contributions","$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy contributions property schema","type":"object","required":["name"],"properties":{"temperatureEntropy":{"description":"product of temperature and configurational entropy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["temperature_entropy"]},"value":{"type":"number"}}},"harris_foulkes":{"description":"non self-consitent energy based on an input charge density","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["harris_foulkes"]},"value":{"type":"number"}}},"smearing":{"description":"smearing energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["smearing"]},"value":{"type":"number"}}},"one_electron":{"description":"kinetic + pseudopotential energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["one_electron"]},"value":{"type":"number"}}},"hartree":{"description":"energy due to coulomb potential","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["hartree"]},"value":{"type":"number"}}},"exchange":{"description":"exchange energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["exchange"]},"value":{"type":"number"}}},"exchange_correlation":{"description":"exchange and correlation energy per particle","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["exchange_correlation"]},"value":{"type":"number"}}},"ewald":{"description":"summation of interaction energies at long length scales due to coloumbic interactions","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["ewald"]},"value":{"type":"number"}}},"alphaZ":{"description":"divergent electrostatic ion interaction in compensating electron gas","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["alphaZ"]},"value":{"type":"number"}}},"atomicEnergy":{"description":"kinetic energy of wavefunctions in the atomic limit","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["atomic_energy"]},"value":{"type":"number"}}},"eigenvalues":{"description":"sum of one electron energies of kinetic, electrostatic, and exchange correlation","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["eigenvalues"]},"value":{"type":"number"}}},"PAWDoubleCounting2":{"description":"double counting correction 2","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["PAW_double-counting_correction_2"]},"value":{"type":"number"}}},"PAWDoubleCounting3":{"description":"double counting correction 3","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["PAW_double-counting_correction_3"]},"value":{"type":"number"}}},"hartreeFock":{"description":"hartree-fock contribution","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["hartree_fock"]},"value":{"type":"number"}}},"name":{"enum":["total_energy_contributions"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},{"$id":"properties-directory/non-scalar/vibrational-spectrum","$schema":"http://json-schema.org/draft-07/schema#","title":"Vibrational spectrum property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["frequency","wavenumber"],"description":"label of an axis object","type":"string"},"units":{"enum":["cm-1","THz","meV"],"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["Intensity","Absorbance","Absorption coefficient"],"description":"label of an axis object","type":"string"},"units":{"enum":["(debye/angstrom)^2","km/mol","m/mol","a.u."],"description":"units for an axis","type":"string"}}},"name":{"enum":["vibrational_spectrum"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/workflow","$schema":"http://json-schema.org/draft-07/schema#","title":"Workflow property schema","type":"object","required":["name","subworkflows","units"],"properties":{"name":{"enum":["workflow:pyml_predict"],"description":"entity name","type":"string"},"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","required":["application","model","name","units"],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false},"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","type","workflowId"],"additionalProperties":true,"properties":{"type":{"enum":["map"],"description":"type of the unit","type":"string"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["type","flowchartId"],"additionalProperties":true,"properties":{"type":{"enum":["subworkflow"],"description":"type of the unit","type":"string"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"properties-directory/reusable/hubbard-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","required":["values","units"],"properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","id2","atomicSpecies","atomicSpecies2","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$id":"properties-directory/scalar/electron-affinity","$schema":"http://json-schema.org/draft-07/schema#","title":"Electron affinity property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["electron_affinity"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/fermi-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Fermi energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["fermi_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/formation-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["formation_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/ionization-potential","$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential scalar property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["ionization_potential"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/pressure","$schema":"http://json-schema.org/draft-07/schema#","title":"Pressure property schema","description":"average pressure in unit cell","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["pressure"]},"units":{"enum":["kbar","pa"]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/reaction-energy-barrier","$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy barrier property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["reaction_energy_barrier"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/surface-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Surface energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["surface_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/total-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["total_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/total-force","$schema":"http://json-schema.org/draft-07/schema#","title":"Total forces property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["total_force"]},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/valence-band-offset","$schema":"http://json-schema.org/draft-07/schema#","title":"Valence band offset property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["valence_band_offset"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/zero-point-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Zero point energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["zero_point_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/structural/atomic-forces","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic forces property schema","description":"coordinates of atoms by ids, vector, unitless","type":"object","required":["name","units","values"],"properties":{"name":{"enum":["atomic_forces"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}}},{"$id":"properties-directory/structural/basis/atomic-constraint","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"properties-directory/structural/basis/atomic-constraints","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"properties-directory/structural/basis/atomic-constraints-property","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints property schema","description":"atomic constraints property schema (as stored in a database)","type":"object","required":["name","values"],"properties":{"name":{"enum":["atomic_constraints"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"properties-directory/structural/basis/atomic-coordinate","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"properties-directory/structural/basis/atomic-coordinates","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"properties-directory/structural/basis/atomic-element","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"properties-directory/structural/basis/atomic-elements","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"properties-directory/structural/basis/atomic-label","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"properties-directory/structural/basis/atomic-labels","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"properties-directory/structural/basis/bonds","$schema":"http://json-schema.org/draft-07/schema#","title":"bonds schema","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"atomPair":{"description":"indices of the two connected atoms","type":"array","minItems":2,"maxItems":2,"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","required":["id"],"properties":{"id":{"description":"integer id of this entry","type":"integer"}}}},"bondType":{"type":"string","enum":["single","double","triple","quadruple","aromatic","tautomeric","dative","other"]}}}},{"$id":"properties-directory/structural/basis/boundary-conditions","$schema":"http://json-schema.org/draft-07/schema#","title":"boundary conditions property schema","description":"boundary conditions property schema (as stored in a database)","type":"object","required":["name","type","offset"],"properties":{"name":{"enum":["boundary_conditions"]},"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}},{"$id":"properties-directory/structural/basis/units-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},{"$id":"properties-directory/structural/basis","$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"properties-directory/structural/density","$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$id":"properties-directory/structural/elemental-ratio","$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$id":"properties-directory/structural/inchi","$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$id":"properties-directory/structural/inchi-key","$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}},{"$id":"properties-directory/structural/lattice/type-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},{"$id":"properties-directory/structural/lattice/type-extended-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type extended enum","type":"string","enum":["BCC","BCT-1","BCT-2","CUB","FCC","HEX","MCL","MCLC-1","MCLC-2","MCLC-3","MCLC-4","MCLC-5","ORC","ORCC","ORCF-1","ORCF-2","ORCF-3","ORCI","RHL-1","RHL-2","TET","TRI_1a","TRI_1b","TRI_2a","TRI_2b"]},{"$id":"properties-directory/structural/lattice/units/angle-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"},{"$id":"properties-directory/structural/lattice/units/length-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},{"$id":"properties-directory/structural/lattice/units","$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}},{"$id":"properties-directory/structural/lattice/vectors/units-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"},{"$id":"properties-directory/structural/lattice/vectors","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},{"$id":"properties-directory/structural/lattice","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},{"$id":"properties-directory/structural/magnetic-moments","$schema":"http://json-schema.org/draft-07/schema#","title":"Magnetic moments property schema","description":"magnetization on each ion","type":"object","required":["name","values","units"],"properties":{"name":{"enum":["magnetic_moments"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"enum":["uB"]}}},{"$id":"properties-directory/structural/molecular-pattern","$schema":"http://json-schema.org/draft-07/schema#","title":"molecular pattern schema","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"functional group pattern schema","type":"object","properties":{"name":{"enum":["functional_group"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}},"SMARTS":{"description":"SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ring pattern schema","type":"object","properties":{"name":{"enum":["ring"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}},"isAromatic":{"type":"boolean"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"special bond pattern schema","type":"object","description":"Any bonding interaction that cannot be described by simple 2-atom picture, e.g. 3-center-2-electron bond in diborane","properties":{"name":{"enum":["special_bond"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}}},"required":["name"]}]}},{"$id":"properties-directory/structural/p-norm","$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$id":"properties-directory/structural/patterns/functional-group","$schema":"http://json-schema.org/draft-07/schema#","title":"functional group pattern schema","type":"object","required":["name"],"properties":{"name":{"enum":["functional_group"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}},"SMARTS":{"description":"SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification","type":"string"}}},{"$id":"properties-directory/structural/patterns/ring","$schema":"http://json-schema.org/draft-07/schema#","title":"ring pattern schema","type":"object","required":["name"],"properties":{"name":{"enum":["ring"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}},"isAromatic":{"type":"boolean"}}},{"$id":"properties-directory/structural/patterns/special-bond","$schema":"http://json-schema.org/draft-07/schema#","title":"special bond pattern schema","type":"object","description":"Any bonding interaction that cannot be described by simple 2-atom picture, e.g. 3-center-2-electron bond in diborane","required":["name"],"properties":{"name":{"enum":["special_bond"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"properties-directory/structural/symmetry","$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$id":"properties-directory/structural/volume","$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$id":"properties-directory/workflow/convergence/electronic","$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence electronic property schema","type":"object","required":["data","name","units"],"properties":{"name":{"enum":["convergence_electronic"]},"units":{"enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},{"$id":"properties-directory/workflow/convergence/ionic","$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence ionic property schema","type":"object","required":["data","name","units"],"properties":{"name":{"enum":["convergence_ionic"]},"tolerance":{"description":"for ionic convergence tolerance shows force tolerance"},"units":{"description":"units for force tolerance","enum":["eV"]},"data":{"type":"array","description":"energetic and structural information","items":{"type":"object","required":["energy"],"properties":{"energy":{"description":"converged electronic energy for this structure (last in `electronic`)","type":"number"},"structure":{"description":"TODO: structural information at each step to be here","type":"object"},"electronic":{"description":"data about electronic at this ionic step","type":"object","properties":{"units":{"description":"units for force tolerance","enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"number"}}}}}}}}},{"$id":"properties-directory/workflow/convergence/kpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"convergence schema for converging a property wrt kpoints","type":"object","required":["tolerance","units","data"],"properties":{"tolerance":{"description":"tolerance for the property under investigation"},"units":{"description":"units for the property under investigation","type":"string"},"property":{"description":"name of the property under investigation","type":"string"},"data":{"type":"array","description":"kpoint grid and property information","items":{"type":"object","required":["value","grid"],"properties":{"value":{"description":"value of the property at this step"},"grid":{"description":"information about the kpoint grid","type":"object"},"spacing":{"description":"optional kpoint spacing information","type":"number"}}}}}},{"$id":"property/holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Property holder schema","type":"object","required":["data","source","repetition","exabyteId"],"properties":{"group":{"description":"property group, e.g. qe:dft:gga:pbe","type":"string"},"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Valence band offset property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["valence_band_offset"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Zero point energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["zero_point_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pressure property schema","description":"average pressure in unit cell","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["pressure"]},"units":{"enum":["kbar","pa"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy barrier property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["reaction_energy_barrier"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Surface energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["surface_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["total_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total forces property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["total_force"]},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Fermi energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["fermi_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential scalar property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["ionization_potential"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stress tensor property schema","type":"object","properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"name":{"enum":["stress_tensor"]},"units":{"enum":["kbar","pa"]}},"required":["name","value","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Band gaps property schema","description":"contains band gap values","type":"object","properties":{"name":{"enum":["band_gaps"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","required":["type","value"],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"value":{"type":"number"}}}},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"kpoint":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"weight":{"type":"number"},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"spin":{"type":"number"},"energies":{"type":"array"},"occupations":{"type":"array"}}}}}}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Band structure property schema","type":"object","required":["name","spin","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["kpoints"],"description":"label of an axis object","type":"string"},"units":{"enum":["crystal","cartesian"],"default":"crystal","description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["band_structure"]},"spin":{"description":"spin of each band","type":"array","items":{"type":"number","enum":[0.5,-0.5]}},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon band structure property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["qpoints"],"description":"label of an axis object","type":"string"},"units":{"enum":["crystal","cartesian"],"default":"crystal","description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["frequency"],"description":"label of an axis object","type":"string"},"units":{"enum":["cm-1","THz","meV"],"description":"units for an axis","type":"string"}}},"name":{"enum":["phonon_dispersions"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy contributions property schema","type":"object","properties":{"temperatureEntropy":{"description":"product of temperature and configurational entropy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["temperature_entropy"]},"value":{"type":"number"}}},"harris_foulkes":{"description":"non self-consitent energy based on an input charge density","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["harris_foulkes"]},"value":{"type":"number"}}},"smearing":{"description":"smearing energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["smearing"]},"value":{"type":"number"}}},"one_electron":{"description":"kinetic + pseudopotential energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["one_electron"]},"value":{"type":"number"}}},"hartree":{"description":"energy due to coulomb potential","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["hartree"]},"value":{"type":"number"}}},"exchange":{"description":"exchange energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["exchange"]},"value":{"type":"number"}}},"exchange_correlation":{"description":"exchange and correlation energy per particle","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["exchange_correlation"]},"value":{"type":"number"}}},"ewald":{"description":"summation of interaction energies at long length scales due to coloumbic interactions","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["ewald"]},"value":{"type":"number"}}},"alphaZ":{"description":"divergent electrostatic ion interaction in compensating electron gas","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["alphaZ"]},"value":{"type":"number"}}},"atomicEnergy":{"description":"kinetic energy of wavefunctions in the atomic limit","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["atomic_energy"]},"value":{"type":"number"}}},"eigenvalues":{"description":"sum of one electron energies of kinetic, electrostatic, and exchange correlation","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["eigenvalues"]},"value":{"type":"number"}}},"PAWDoubleCounting2":{"description":"double counting correction 2","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["PAW_double-counting_correction_2"]},"value":{"type":"number"}}},"PAWDoubleCounting3":{"description":"double counting correction 3","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["PAW_double-counting_correction_3"]},"value":{"type":"number"}}},"hartreeFock":{"description":"hartree-fock contribution","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["hartree_fock"]},"value":{"type":"number"}}},"name":{"enum":["total_energy_contributions"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon density of states property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["frequency"],"description":"label of an axis object","type":"string"},"units":{"enum":["cm-1","THz","meV"],"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["Phonon DOS"],"description":"label of an axis object","type":"string"},"units":{"enum":["states/cm-1","states/THz","states/meV"],"description":"units for an axis","type":"string"}}},"name":{"enum":["phonon_dos"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Potential profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["potential_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["reaction coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["reaction_energy_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density of states property schema","type":"object","required":["legend","name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["density of states"],"description":"label of an axis object","type":"string"},"units":{"enum":["states/unitcell"],"description":"units for an axis","type":"string"}}},"name":{"enum":["density_of_states"]},"legend":{"type":"array","items":{"type":"object","properties":{"element":{"description":"chemical element","type":"string"},"index":{"description":"index inside sub-array of atoms of the same element type","type":"integer"},"electronicState":{"description":"electronic character and shell of PDOS, such as `1s` or `s`, or `total`","type":"string","pattern":"^([1-5]{1})?(s|p|d|f|g).*$"},"spin":{"description":"spin of the electronic state","type":"number","enum":[0.5,-0.5]}}}},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dielectric tensor property schema","description":"The real and imaginary parts of the diagonal elements of the dieletric tensor","type":"object","properties":{"name":{"enum":["dielectric_tensor"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","required":["part","frequencies","components"],"description":"Schema for a function of frequency yielding a nx3 matrix","properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"},"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"File content property schema","type":"object","required":["name","filetype","objectData"],"properties":{"name":{"enum":["file_content"]},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string","enum":["image","text","csv"],"$comment":"isGenerative:true"},"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U parameters property schema","description":"Hubbard U values in eV corresponding to atomic species, orbital and site number.","type":"object","properties":{"name":{"enum":["hubbard_u"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","atomicSpecies","orbitalName","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}},"required":["name","values","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V parameters property schema","description":"Hubbard V values corresponding to atomic pairs","type":"object","required":["name","units","values"],"properties":{"name":{"enum":["hubbard_v"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","id2","atomicSpecies","atomicSpecies2","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V NN parameters property schema","description":"Hubbard V value in eV for nearest neighbors used in hp.x output parsing","type":"object","required":["name","units","values"],"properties":{"name":{"enum":["hubbard_v_nn"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","id2","atomicSpecies","atomicSpecies2","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Average potential profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"],"description":"units for an axis","type":"string"}}},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["average_potential_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Charge density profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["charge density"],"description":"label of an axis object","type":"string"},"units":{"enum":["e/A"],"description":"units for an axis","type":"string"}}},"name":{"enum":["charge_density_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Workflow property schema","type":"object","required":["name","subworkflows","units"],"properties":{"name":{"enum":["workflow:pyml_predict"],"description":"entity name","type":"string"},"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","required":["application","model","name","units"],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false},"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","type","workflowId"],"additionalProperties":true,"properties":{"type":{"enum":["map"],"description":"type of the unit","type":"string"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["type","flowchartId"],"additionalProperties":true,"properties":{"type":{"enum":["subworkflow"],"description":"type of the unit","type":"string"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Magnetic moments property schema","description":"magnetization on each ion","type":"object","properties":{"name":{"enum":["magnetic_moments"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"enum":["uB"]}},"required":["name","values","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic forces property schema","description":"coordinates of atoms by ids, vector, unitless","type":"object","properties":{"name":{"enum":["atomic_forces"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}},"required":["name","units","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence electronic property schema","type":"object","properties":{"name":{"enum":["convergence_electronic"]},"units":{"enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"required":["data","name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence ionic property schema","type":"object","properties":{"name":{"enum":["convergence_ionic"]},"tolerance":{"description":"for ionic convergence tolerance shows force tolerance"},"units":{"description":"units for force tolerance","enum":["eV"]},"data":{"type":"array","description":"energetic and structural information","items":{"type":"object","required":["energy"],"properties":{"energy":{"description":"converged electronic energy for this structure (last in `electronic`)","type":"number"},"structure":{"description":"TODO: structural information at each step to be here","type":"object"},"electronic":{"description":"data about electronic at this ionic step","type":"object","properties":{"units":{"description":"units for force tolerance","enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"number"}}}}}}}},"required":["data","name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Is relaxed property schema","type":"object","properties":{"name":{"enum":["is_relaxed"]},"value":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","value","materialId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Final structure property schema","type":"object","properties":{"name":{"enum":["final_structure"]},"isRelaxed":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","isRelaxed","materialId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter notebook endpoint property schema","type":"object","properties":{"name":{"enum":["jupyter_notebook_endpoint"]},"host":{"type":"string"},"port":{"type":"number"},"token":{"type":"string"}},"required":["name","host","port","token"]}],"discriminator":{"propertyName":"name"}},"source":{"type":"object","required":["type","info"],"properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","required":["jobId","unitId"],"properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}}}}},"exabyteId":{"description":"Id of the corresponding item in the entity bank that this property is obtained for","type":"array","items":{"type":"string"}},"precision":{"type":"object","properties":{"value":{"type":"number"},"metric":{"type":"string"}}},"systemTags":{"description":"property system tags, marks property system characteristics, values refined or best (could be both)","type":"array","items":{"type":"string","enum":["isRefined","isBest"]}},"repetition":{"type":"number"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"property/meta-holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Meta property holder schema","type":"object","required":["data","source"],"properties":{"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}}}}},"required":["element","type","exchangeCorrelation","source","path","apps","name","hash"]}]},"source":{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"type":"object"}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"property/proto-holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Proto property holder schema","type":"object","required":["data","source"],"properties":{"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints property schema","description":"atomic constraints property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["atomic_constraints"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundary conditions property schema","description":"boundary conditions property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["boundary_conditions"]},"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["name","type","offset"]}]},"source":{"type":"object","required":["type","info"],"properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"type":"object","properties":{"materialId":{"type":"string"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"property/source","$schema":"http://json-schema.org/draft-07/schema#","title":"Property source schema","type":"object","required":["info"],"properties":{"type":{"description":"Type of the material property's source.","type":"string"},"url":{"description":"Internet address of the reference.","type":"string"},"info":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}},"required":["jobId","unitId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","required":["name"],"properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}}}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","required":["latitude","longitude"],"properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}}},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}}}},"required":["conditions","authors","title","method","timestamp"]}]}}},{"$id":"software/application","$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"software/executable","$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},{"$id":"software/flavor","$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},{"$id":"software/template","$schema":"http://json-schema.org/draft-07/schema#","title":"template schema","type":"object","required":["content","name"],"properties":{"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"executableName":{"type":"string"},"contextProviders":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"isManuallyChanged":{"type":"boolean"},"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"software-directory/modeling/deepmd","$schema":"http://json-schema.org/draft-07/schema#","title":"DeePMD app schema","type":"object","additionalProperties":true,"properties":{"name":{"enum":["deepmd"],"description":"entity name","type":"string"},"summary":{"enum":["DeePMD is a deep learning package that is based on neural network fitted first-principles data for many-body potential energy representation and molecular dynamics"],"description":"Application's short description.","type":"string"},"version":{"enum":["2.0.2"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["dp","lmp","python"]},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"software-directory/modeling/espresso/arguments","$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},{"$id":"software-directory/modeling/espresso","$schema":"http://json-schema.org/draft-07/schema#","title":"espresso app schema","type":"object","properties":{"name":{"enum":["espresso"]},"summary":{"enum":["Quantum Espresso"]},"version":{"enum":["5.2.1","5.4.0","6.0.0","6.3","6.4.1","6.5.0","6.6.0","6.7.0","6.8.0","7.0","7.2","7.3"]}}},{"$id":"software-directory/modeling/nwchem","$schema":"http://json-schema.org/draft-07/schema#","title":"NWChem","type":"object","additionalProperties":true,"properties":{"name":{"enum":["NWChem"],"description":"entity name","type":"string"},"summary":{"enum":["NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations"],"description":"Application's short description.","type":"string"},"version":{"enum":["6.6","7.0.2"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["nwchem"]},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"software-directory/modeling/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema for physics-based simulation engines (defined using espresso as example)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)","title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"software-directory/modeling/vasp","$schema":"http://json-schema.org/draft-07/schema#","title":"vienna ab-inito simulation package","type":"object","additionalProperties":true,"properties":{"name":{"enum":["vasp"],"description":"entity name","type":"string"},"summary":{"enum":["vienna ab-initio simulation package"],"description":"Application's short description.","type":"string"},"flavor":{"enum":["vasp","vasp_nscf","vasp_bands"]},"version":{"enum":["5.3.5"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["vasp"]},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"software-directory/scripting/jupyter-lab","$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter Lab Application Schema","type":"object","additionalProperties":true,"properties":{"name":{"enum":["jupyterLab"],"description":"entity name","type":"string"},"flavor":{"enum":["notebook"]},"summary":{"enum":["Jupyter Lab"],"description":"Application's short description.","type":"string"},"version":{"enum":["0.33.12"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["jupyter"]},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"software-directory/scripting/python","$schema":"http://json-schema.org/draft-07/schema#","title":"Python Programing Language Schema","type":"object","additionalProperties":true,"properties":{"name":{"enum":["python"],"description":"entity name","type":"string"},"flavor":{"enum":["python2","python3"]},"summary":{"enum":["Python Script"],"description":"Application's short description.","type":"string"},"version":{"enum":["2.7.5","3.6.1"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["python"]},"arguments":{"description":"Optional arguments passed to the Python script","type":"string"},"environment":{"description":"Optional environment variables exported before running the Python script","type":"object"},"dependencies":{"description":"Optional Python dependencies, e.g. amqp==1.4.6","type":"array"},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"software-directory/scripting/shell","$schema":"http://json-schema.org/draft-07/schema#","title":"Shell Scripting Language Schema","type":"object","additionalProperties":true,"properties":{"name":{"enum":["shell"],"description":"entity name","type":"string"},"flavor":{"enum":["sh","bash","zsh","csh"]},"summary":{"enum":["Shell Script"],"description":"Application's short description.","type":"string"},"version":{"enum":["4.2.46"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["sh","bash","zsh","csh"]},"arguments":{"description":"Optional arguments passed to the Shell script","type":"string"},"environment":{"description":"Optional environment variables exported before running the Shell script","type":"object"},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"software-directory/scripting/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema for scripting-based applications","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)","title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"system/-material","$schema":"http://json-schema.org/draft-07/schema#","title":"Material entity reference schema","type":"object","required":["_id"],"properties":{"cls":{"description":"Material class","type":"string","enum":["Material"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/-parent-job","$schema":"http://json-schema.org/draft-07/schema#","title":"Parent job entity reference schema","type":"object","required":["_id"],"properties":{"cls":{"description":"Job class","type":"string","enum":["Job"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/-project","$schema":"http://json-schema.org/draft-07/schema#","title":"Project entity reference schema","type":"object","required":["_id"],"properties":{"cls":{"description":"Project class","type":"string","enum":["Project"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/bankable","$schema":"http://json-schema.org/draft-07/schema#","title":"bankable schema","type":"object","properties":{"exabyteId":{"description":"Identity of the corresponding bank entity","type":"string"},"hash":{"description":"Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.","type":"string"}}},{"$id":"system/consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}},{"$id":"system/creator","$schema":"http://json-schema.org/draft-07/schema#","title":"Creator entity reference schema","type":"object","required":["_id"],"properties":{"cls":{"description":"Creator class","type":"string","enum":["User"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/creator-account","$schema":"http://json-schema.org/draft-07/schema#","title":"creator account schema","type":"object","properties":{"creatorAccount":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}}}},{"$id":"system/database-source","$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","source","origin"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},{"$id":"system/defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"system/description","$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$id":"system/entity-reference","$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/file-source","$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},{"$id":"system/has-consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"Has consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}}}},{"$id":"system/history","$schema":"http://json-schema.org/draft-07/schema#","title":"history schema","type":"object","properties":{"history":{"type":"array","items":{"type":"object","required":["id","revision"],"properties":{"id":{"type":"string"},"revision":{"type":"number"}}}}}},{"$id":"system/iframe-message","$schema":"http://json-schema.org/draft-07/schema#","title":"iframe message schema","description":"communication message between iframe and the parent window.","type":"object","required":["type","action","payload"],"properties":{"type":{"description":"The type of the message to distinguish the direction of the message.","type":"string","enum":["from-iframe-to-host","from-host-to-iframe"],"tsEnumNames":["fromIframeToHost","fromHostToIframe"]},"action":{"description":"The action to be performed upon receiving the message.","type":"string","enum":["set-data","get-data","info"],"tsEnumNames":["setData","getData","info"]},"payload":{"description":"The content of the message with actual data.","type":"object"}}},{"$id":"system/in-set","$schema":"http://json-schema.org/draft-07/schema#","title":"System in-set schema","type":"object","properties":{"inSet":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"},"type":{"type":"string"},"index":{"type":"number"}}}}}},{"$id":"system/is-multi-material","$schema":"http://json-schema.org/draft-07/schema#","title":"is multi schema","type":"object","properties":{"isMultiMaterial":{"type":"boolean"}}},{"$id":"system/is-outdated","$schema":"http://json-schema.org/draft-07/schema#","title":"is outdated schema","type":"object","properties":{"isOutdated":{"type":"boolean"}}},{"$id":"system/job-extended","$schema":"http://json-schema.org/draft-07/schema#","title":"extended job schema","type":"object","properties":{"mode":{"type":"string"},"isExternal":{"type":"boolean"},"_materials":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}}},"_materialsSet":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"purged":{"type":"boolean"},"purgedAt":{"type":"number"},"dataset":{"type":"object"}}},{"$id":"system/message","$schema":"http://json-schema.org/draft-07/schema#","title":"message schema","description":"communication message between Rupy and web application.","type":"object","required":["header","payload"],"properties":{"header":{"type":"object","required":["entity","version","timestamp"],"properties":{"entity":{"type":"object","required":["_id","name"],"properties":{"_id":{"description":"job identifier","type":"string"},"name":{"description":"entity name.","type":"string","enum":["job","unit"]},"flowchartId":{"description":"unit identifier within the workflow","type":"string"},"probe":{"description":"source of the message.","type":"string","enum":["monitor","postprocessor"]}}},"version":{"description":"Rupy-Webapp communication schema version.","type":"string"},"timestamp":{"description":"Timestamp of the message.","type":"number"}}},"payload":{"description":"Actual payload of the message.","type":"object"}}},{"$id":"system/metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$id":"system/name","$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$id":"system/owner","$schema":"http://json-schema.org/draft-07/schema#","title":"Entity owner reference schema","type":"object","required":["_id"],"properties":{"cls":{"description":"Entity owner class","type":"string","enum":["Account"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/path","$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},{"$id":"system/path-entity","$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},{"$id":"system/schema-version","$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"system/scope","$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$id":"system/set","$schema":"http://json-schema.org/draft-07/schema#","title":"Entity set schema","type":"object","properties":{"isEntitySet":{"type":"boolean"},"entitySetType":{"type":"string"},"entityCls":{"type":"string"}}},{"$id":"system/sharing","$schema":"http://json-schema.org/draft-07/schema#","title":"extended sharing schema","type":"object","properties":{"sharedCount":{"type":"number"}}},{"$id":"system/soft-removable","$schema":"http://json-schema.org/draft-07/schema#","title":"soft removable entity schema","type":"object","properties":{"removedAt":{"description":"Timestamp of the moment when entity was removed","type":"string"},"removed":{"description":"Identifies that entity was removed","type":"boolean"}}},{"$id":"system/status","$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"system/tags","$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"system/timestampable","$schema":"http://json-schema.org/draft-07/schema#","title":"timestampable entity schema","type":"object","properties":{"createdAt":{"description":"entity creation time","type":"string","format":"date-time"},"updatedAt":{"description":"entity last modification time","type":"string","format":"date-time"},"createdBy":{"type":"string"},"updatedBy":{"type":"string"}}},{"$id":"system/use-values","$schema":"http://json-schema.org/draft-07/schema#","title":"use values schema","type":"object","properties":{"useValues":{"type":"boolean"}}},{"$id":"workflow/base","$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"workflow/base-flow","$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","required":["name","units"],"properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}},{"$id":"workflow/scope","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","required":["global","local"],"properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}}},{"$id":"workflow/subworkflow/unit","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]},{"$id":"workflow/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","required":["application","model","name","units"],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false},"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}},{"$id":"workflow/unit/assertion","$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"workflow/unit/assignment","$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$id":"workflow/unit/base","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","required":["type","flowchartId"],"additionalProperties":true,"properties":{"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"workflow/unit/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"workflow/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"workflow/unit/input/-input","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema for physics-based simulation engines","type":"object","properties":{"input":{"title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}}}},{"$id":"workflow/unit/input/-inputItem","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","required":["name","content"],"properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}}},{"$id":"workflow/unit/input/-inputItemId","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}},{"$id":"workflow/unit/input/-inputItemScope","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}},{"$id":"workflow/unit/input/-map-input/values","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit values schema","type":"object","properties":{"values":{"type":"string"}}},{"$id":"workflow/unit/input/-map-input","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit map input schema","type":"object","properties":{"target":{"type":"string"},"values":{"type":"array","items":{"oneOf":[{"type":"number"},{"type":"string"},{"type":"object"}]}},"useValues":{"type":"boolean"},"scope":{"type":"string"},"name":{"type":"string"}}},{"$id":"workflow/unit/io/api","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","required":["endpoint","endpoint_options"],"additionalProperties":true,"properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}}},{"$id":"workflow/unit/io/db","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$id":"workflow/unit/io/object-storage","$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}},{"$id":"workflow/unit/io","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"workflow/unit/map","$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","type","workflowId"],"additionalProperties":true,"properties":{"type":{"enum":["map"],"description":"type of the unit","type":"string"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"workflow/unit/processing","$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"workflow/unit/reduce","$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"workflow/unit/runtime/-runtime-item-full-object","$schema":"http://json-schema.org/draft-07/schema#","title":"full result schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. 'my_custom_property. '","type":"string"}}},{"$id":"workflow/unit/runtime/-runtime-item-name-object","$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}},{"$id":"workflow/unit/runtime/-runtime-item-string","$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"},{"$id":"workflow/unit/runtime/runtime-item","$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]},{"$id":"workflow/unit/runtime/runtime-items","$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},{"$id":"workflow/unit/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["type","flowchartId"],"additionalProperties":true,"properties":{"type":{"enum":["subworkflow"],"description":"type of the unit","type":"string"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"workflow/unit","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","type","workflowId"],"additionalProperties":true,"properties":{"type":{"enum":["map"],"description":"type of the unit","type":"string"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["type","flowchartId"],"additionalProperties":true,"properties":{"type":{"enum":["subworkflow"],"description":"type of the unit","type":"string"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]},{"$id":"workflow","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","required":["units","subworkflows"],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","required":["application","model","name","units"],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false},"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","source","subtype","type"],"additionalProperties":true,"properties":{"type":{"enum":["io"],"description":"type of the unit","type":"string"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","type"],"additionalProperties":true,"properties":{"type":{"enum":["reduce"],"description":"type of the unit","type":"string"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","statement","then","type"],"additionalProperties":true,"properties":{"type":{"enum":["condition"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","name","statement","type"],"additionalProperties":true,"properties":{"type":{"enum":["assertion"],"description":"type of the unit","type":"string"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","type"],"additionalProperties":true,"properties":{"type":{"enum":["execution"],"description":"type of the unit","type":"string"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","additionalProperties":true,"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","name","operand","type","value"],"additionalProperties":true,"properties":{"type":{"enum":["assignment"],"description":"type of the unit","type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","operation","operationType","type"],"additionalProperties":true,"properties":{"type":{"enum":["processing"],"description":"type of the unit","type":"string"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","type","workflowId"],"additionalProperties":true,"properties":{"type":{"enum":["map"],"description":"type of the unit","type":"string"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["type","flowchartId"],"additionalProperties":true,"properties":{"type":{"enum":["subworkflow"],"description":"type of the unit","type":"string"},"_id":{"type":"string","description":"entity identity"},"isDraft":{"type":"boolean"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}] \ No newline at end of file +[{"$id":"apse/db/materials-project/2025.9.25/summary","$schema":"http://json-schema.org/draft-07/schema#","title":"Materials Project Schema","description":"JSON schema for Materials Project API summary endpoint response","type":"object","required":["builder_meta","nsites","elements","nelements","composition","composition_reduced","formula_pretty","formula_anonymous","chemsys","volume","density","density_atomic","symmetry","material_id","deprecated","last_updated","origins","warnings","structure","property_name","task_ids","uncorrected_energy_per_atom","energy_per_atom","formation_energy_per_atom","energy_above_hull","is_stable","decomposes_to","xas","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","bandstructure","dos","is_magnetic","ordering","total_magnetization","total_magnetization_normalized_vol","total_magnetization_normalized_formula_units","num_magnetic_sites","num_unique_magnetic_sites","types_of_magnetic_species","bulk_modulus","shear_modulus","universal_anisotropy","homogeneous_poisson","possible_species","has_props","theoretical","database_IDs"],"definitions":{"bandstructure_data":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}}},"band_extrema":{"type":"object","required":["band_index","kpoint_index","kpoint","energy","projections"],"properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"dos_data":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"properties":{"builder_meta":{"type":"object","required":["emmet_version","pymatgen_version","run_id","database_version","build_date","license"],"properties":{"emmet_version":{"type":"string","description":"Version of emmet library used"},"pymatgen_version":{"type":"string","description":"Version of pymatgen library used"},"run_id":{"type":"string","description":"Unique identifier for the calculation run"},"batch_id":{"type":["string","null"],"description":"Batch identifier for grouped calculations"},"database_version":{"type":"string","description":"Version of the Materials Project database"},"build_date":{"type":"string","format":"date-time","description":"Date when the calculation was performed"},"license":{"type":"string","description":"License information for the data"}}},"nsites":{"type":"integer","description":"Number of sites in the structure"},"elements":{"type":"array","description":"List of chemical elements in the material","items":{"type":"string"}},"nelements":{"type":"integer","description":"Number of unique elements"},"composition":{"type":"object","description":"Chemical composition as element: count mapping","additionalProperties":{"type":"number"}},"composition_reduced":{"type":"object","description":"Reduced chemical composition","additionalProperties":{"type":"number"}},"formula_pretty":{"type":"string","description":"Human-readable chemical formula"},"formula_anonymous":{"type":"string","description":"Anonymous chemical formula"},"chemsys":{"type":"string","description":"Chemical system identifier"},"volume":{"type":"number","description":"Unit cell volume in cubic Angstroms"},"density":{"type":"number","description":"Material density in g/cm³"},"density_atomic":{"type":"number","description":"Atomic density"},"symmetry":{"type":"object","required":["crystal_system","symbol","number","point_group","symprec","angle_tolerance","version"],"properties":{"crystal_system":{"type":"string","description":"Crystal system classification"},"symbol":{"type":"string","description":"Space group symbol"},"hall":{"type":["string","null"],"description":"Hall symbol"},"number":{"type":"integer","description":"Space group number"},"point_group":{"type":"string","description":"Point group symbol"},"symprec":{"type":"number","description":"Symmetry precision tolerance"},"angle_tolerance":{"type":"number","description":"Angle tolerance for symmetry analysis"},"version":{"type":"string","description":"Version of symmetry analysis software"}}},"material_id":{"type":"string","description":"Unique Materials Project identifier"},"deprecated":{"type":"boolean","description":"Whether this material entry is deprecated"},"deprecation_reasons":{"type":["array","null"],"description":"Reasons for deprecation if applicable","items":{"type":"string"}},"last_updated":{"type":"string","format":"date-time","description":"Last update timestamp"},"origins":{"type":"array","items":{"type":"object","required":["name","task_id","last_updated"],"properties":{"name":{"type":"string","description":"Origin name (e.g., structure, energy, magnetism)"},"task_id":{"type":"string","description":"Task identifier for this origin"},"last_updated":{"type":"string","format":"date-time","description":"Last update for this origin"}}}},"warnings":{"type":"array","description":"Warning messages","items":{"type":"string"}},"structure":{"type":"object","required":["@module","@class","charge","lattice","properties","sites"],"properties":{"@module":{"type":"string","description":"Python module name"},"@class":{"type":"string","description":"Python class name"},"charge":{"type":"number","description":"Total charge of the structure"},"lattice":{"type":"object","required":["matrix","pbc","a","b","c","alpha","beta","gamma","volume"],"properties":{"matrix":{"type":"array","minItems":3,"maxItems":3,"description":"Lattice matrix","items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"description":"Periodic boundary conditions","items":{"type":"boolean"}},"a":{"type":"number","description":"Lattice parameter a"},"b":{"type":"number","description":"Lattice parameter b"},"c":{"type":"number","description":"Lattice parameter c"},"alpha":{"type":"number","description":"Lattice angle alpha"},"beta":{"type":"number","description":"Lattice angle beta"},"gamma":{"type":"number","description":"Lattice angle gamma"},"volume":{"type":"number","description":"Unit cell volume"}}},"properties":{"type":"object","description":"Additional structure properties"},"sites":{"type":"array","items":{"type":"object","required":["species","abc","label","xyz"],"properties":{"species":{"type":"array","items":{"type":"object","required":["element","occu"],"properties":{"element":{"type":"string","description":"Chemical element"},"occu":{"type":"number","description":"Occupancy"}}}},"abc":{"type":"array","minItems":3,"maxItems":3,"description":"Fractional coordinates","items":{"type":"number"}},"properties":{"type":"object","properties":{"magmom":{"type":"number","description":"Magnetic moment"}}},"label":{"type":"string","description":"Site label"},"xyz":{"type":"array","minItems":3,"maxItems":3,"description":"Cartesian coordinates","items":{"type":"number"}}}}}}},"property_name":{"type":"string","description":"Name of the property endpoint"},"task_ids":{"type":"array","description":"List of task identifiers","items":{"type":"string"}},"uncorrected_energy_per_atom":{"type":"number","description":"Uncorrected energy per atom in eV"},"energy_per_atom":{"type":"number","description":"Energy per atom in eV"},"formation_energy_per_atom":{"type":"number","description":"Formation energy per atom in eV"},"energy_above_hull":{"type":"number","description":"Energy above convex hull in eV"},"is_stable":{"type":"boolean","description":"Whether the material is thermodynamically stable"},"equilibrium_reaction_energy_per_atom":{"type":["number","null"],"description":"Equilibrium reaction energy per atom in eV"},"decomposes_to":{"oneOf":[{"type":"array","items":{"type":"object","required":["material_id","formula","amount"],"properties":{"material_id":{"type":"string","description":"Material ID of decomposition product"},"formula":{"type":"string","description":"Formula of decomposition product"},"amount":{"type":"number","description":"Amount of decomposition product"}}}},{"type":"null"}]},"xas":{"oneOf":[{"type":"array","items":{"type":"object","required":["edge","absorbing_element","spectrum_type"],"properties":{"edge":{"type":"string","description":"XAS edge type (K, L, M, etc.)"},"absorbing_element":{"type":"string","description":"Element for XAS absorption"},"spectrum_type":{"type":"string","description":"Type of XAS spectrum (XANES, EXAFS, XAFS)"}}}},{"type":"null"}]},"grain_boundaries":{"type":["object","null"],"description":"Grain boundary information"},"band_gap":{"type":"number","description":"Band gap in eV"},"cbm":{"type":["number","null"],"description":"Conduction band minimum in eV"},"vbm":{"type":["number","null"],"description":"Valence band maximum in eV"},"efermi":{"type":["number","null"],"description":"Fermi energy in eV"},"is_gap_direct":{"type":"boolean","description":"Whether the band gap is direct"},"is_metal":{"type":"boolean","description":"Whether the material is metallic"},"es_source_calc_id":{"type":["string","null"],"description":"Source calculation ID for electronic structure"},"bandstructure":{"oneOf":[{"type":"object","properties":{"setyawan_curtarolo":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]},"hinuma":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]},"latimer_munro":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","required":["lattice","fcoords","ccoords","label","@module","@class"],"properties":{"lattice":{"type":"object","required":["@module","@class","matrix","pbc"],"properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"pbc":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}}}},"fcoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"ccoords":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}}},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]}}},{"type":"null"}]},"dos":{"oneOf":[{"type":"object","properties":{"total":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"elemental":{"type":"object","additionalProperties":{"type":"object","properties":{"total":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"s":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"p":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"d":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}}}}},"orbital":{"type":"object","properties":{"s":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"p":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}},"d":{"type":"object","additionalProperties":{"type":"object","required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"],"properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}}}}}},"magnetic_ordering":{"type":"string","description":"Magnetic ordering type"}}},{"type":"null"}]},"dos_energy_up":{"type":["object","null"],"description":"Density of states for spin up"},"dos_energy_down":{"type":["object","null"],"description":"Density of states for spin down"},"is_magnetic":{"type":"boolean","description":"Whether the material is magnetic"},"ordering":{"type":"string","description":"Magnetic ordering"},"total_magnetization":{"type":"number","description":"Total magnetization"},"total_magnetization_normalized_vol":{"type":"number","description":"Volume-normalized magnetization"},"total_magnetization_normalized_formula_units":{"type":"number","description":"Formula unit normalized magnetization"},"num_magnetic_sites":{"type":"number","description":"Number of magnetic sites"},"num_unique_magnetic_sites":{"type":"number","description":"Number of unique magnetic sites"},"types_of_magnetic_species":{"type":"array","description":"Types of magnetic species","items":{"type":"string"}},"bulk_modulus":{"oneOf":[{"type":"object","properties":{"voigt":{"type":"number","description":"Voigt bulk modulus in GPa"},"reuss":{"type":"number","description":"Reuss bulk modulus in GPa"},"vrh":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa"}},"required":["voigt","reuss","vrh"]},{"type":"null"}]},"shear_modulus":{"oneOf":[{"type":"object","properties":{"voigt":{"type":"number","description":"Voigt shear modulus in GPa"},"reuss":{"type":"number","description":"Reuss shear modulus in GPa"},"vrh":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa"}},"required":["voigt","reuss","vrh"]},{"type":"null"}]},"universal_anisotropy":{"oneOf":[{"type":"number"},{"type":"null"}],"description":"Universal anisotropy index"},"homogeneous_poisson":{"oneOf":[{"type":"number"},{"type":"null"}],"description":"Homogeneous Poisson ratio"},"e_total":{"type":["number","null"],"description":"Total energy"},"e_ionic":{"type":["number","null"],"description":"Ionic energy"},"e_electronic":{"type":["number","null"],"description":"Electronic energy"},"n":{"type":["number","null"],"description":"Refractive index"},"e_ij_max":{"type":["number","null"],"description":"Maximum elastic constant"},"weighted_surface_energy_EV_PER_ANG2":{"type":["number","null"],"description":"Weighted surface energy in eV/Ų"},"weighted_surface_energy":{"type":["number","null"],"description":"Weighted surface energy"},"weighted_work_function":{"type":["number","null"],"description":"Weighted work function"},"surface_anisotropy":{"type":["number","null"],"description":"Surface anisotropy"},"shape_factor":{"type":["number","null"],"description":"Shape factor"},"has_reconstructed":{"type":["boolean","null"],"description":"Whether surface has reconstruction"},"possible_species":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Possible ionic species"},"has_props":{"type":"object","required":["materials","thermo","xas","grain_boundaries","chemenv","electronic_structure","absorption","bandstructure","dos","magnetism","elasticity","dielectric","piezoelectric","surface_properties","oxi_states","provenance","charge_density","eos","phonon","insertion_electrodes","substrates"],"properties":{"materials":{"type":"boolean"},"thermo":{"type":"boolean"},"xas":{"type":"boolean"},"grain_boundaries":{"type":"boolean"},"chemenv":{"type":"boolean"},"electronic_structure":{"type":"boolean"},"absorption":{"type":"boolean"},"bandstructure":{"type":"boolean"},"dos":{"type":"boolean"},"magnetism":{"type":"boolean"},"elasticity":{"type":"boolean"},"dielectric":{"type":"boolean"},"piezoelectric":{"type":"boolean"},"surface_properties":{"type":"boolean"},"oxi_states":{"type":"boolean"},"provenance":{"type":"boolean"},"charge_density":{"type":"boolean"},"eos":{"type":"boolean"},"phonon":{"type":"boolean"},"insertion_electrodes":{"type":"boolean"},"substrates":{"type":"boolean"}}},"theoretical":{"type":"boolean","description":"Whether this is a theoretical material"},"database_IDs":{"type":"object","properties":{"icsd":{"type":"array","description":"ICSD database identifiers","items":{"type":"string"}}}}}},{"$id":"apse/db/materials-project/legacy/material","$schema":"http://json-schema.org/draft-07/schema#","title":"Materials Project Legacy Material schema","description":"JSON schema for Materials Project API legacy material endpoint response","type":"object","required":["material_id","energy","energy_per_atom","volume","formation_energy_per_atom","nsites","unit_cell_formula","pretty_formula","is_hubbard","elements","nelements","e_above_hull","hubbards","is_compatible","spacegroup","task_ids","band_gap","density","icsd_ids","cif","total_magnetization","oxide_type","tags","deprecated","full_formula"],"properties":{"energy":{"type":"number","description":"Total energy"},"energy_per_atom":{"type":"number","description":"Energy per atom"},"volume":{"type":"number","description":"Unit cell volume"},"formation_energy_per_atom":{"type":"number","description":"Formation energy per atom"},"nsites":{"type":"integer","description":"Number of sites in unit cell"},"unit_cell_formula":{"type":"object","description":"Unit cell formula as element counts","additionalProperties":{"type":"number"}},"pretty_formula":{"type":"string","description":"Pretty formatted chemical formula"},"is_hubbard":{"type":"boolean","description":"Whether Hubbard U correction was applied"},"elements":{"type":"array","description":"List of elements in the material","items":{"type":"string"}},"nelements":{"type":"integer","description":"Number of distinct elements"},"e_above_hull":{"type":["number","null"],"description":"Energy above convex hull"},"hubbards":{"type":"object","description":"Hubbard U values","additionalProperties":true},"is_compatible":{"type":"boolean","description":"Whether material is compatible"},"spacegroup":{"type":"object","description":"Spacegroup information","properties":{"symprec":{"type":"number"},"source":{"type":"string"},"symbol":{"type":"string"},"number":{"type":"integer"},"point_group":{"type":"string"},"crystal_system":{"type":"string"},"hall":{"type":"string"}}},"task_ids":{"type":"array","description":"List of task IDs","items":{"type":"string"}},"band_gap":{"type":"number","description":"Band gap value"},"density":{"type":"number","description":"Material density"},"icsd_id":{"type":["integer","null"],"description":"ICSD ID (single)"},"icsd_ids":{"type":"array","description":"List of ICSD IDs","items":{"type":"integer"}},"cif":{"type":"string","description":"CIF file content"},"total_magnetization":{"type":"number","description":"Total magnetization"},"material_id":{"type":"string","description":"Material ID from Materials Project"},"oxide_type":{"type":"string","description":"Oxide type classification"},"tags":{"type":"array","description":"Material tags/names","items":{"type":"string"}},"elasticity":{"type":["object","null"],"description":"Elasticity data","properties":{"G_Reuss":{"type":"number","description":"Reuss shear modulus in GPa"},"G_VRH":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa"},"G_Voigt":{"type":"number","description":"Voigt shear modulus in GPa"},"G_Voigt_Reuss_Hill":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa (alternative field)"},"K_Reuss":{"type":"number","description":"Reuss bulk modulus in GPa"},"K_VRH":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa"},"K_Voigt":{"type":"number","description":"Voigt bulk modulus in GPa"},"K_Voigt_Reuss_Hill":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa (alternative field)"},"elastic_anisotropy":{"type":"number","description":"Elastic anisotropy"},"elastic_tensor":{"type":"array","description":"6x6 elastic tensor in GPa","items":{"type":"array","items":{"type":"number"}}},"homogeneous_poisson":{"type":"number","description":"Homogeneous Poisson ratio"},"poisson_ratio":{"type":"number","description":"Poisson ratio"},"universal_anisotropy":{"type":"number","description":"Universal elastic anisotropy"},"elastic_tensor_original":{"type":"array","description":"Original 6x6 elastic tensor in GPa","items":{"type":"array","items":{"type":"number"}}},"compliance_tensor":{"type":"array","description":"6x6 compliance tensor in GPa^-1","items":{"type":"array","items":{"type":"number"}}},"warnings":{"type":"array","description":"Warnings about elastic properties","items":{"type":"string"}},"nsites":{"type":"integer","description":"Number of sites in the structure"}}},"piezo":{"type":["object","null"],"description":"Piezoelectric data"},"diel":{"type":["object","null"],"description":"Dielectric data"},"deprecated":{"type":"boolean","description":"Whether material is deprecated"},"full_formula":{"type":"string","description":"Full chemical formula"}}},{"$id":"apse/db/nist-jarvis/2024.3.13/atoms","$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS Atoms schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","type":"object","additionalProperties":false,"properties":{"lattice_mat":{"type":"array","description":"Crystal lattice vectors as a 3x3 matrix, in Angstroms","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"coords":{"type":"array","description":"Atomic coordinates for each atom in the unit cell","minItems":1,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"elements":{"type":"array","description":"Atomic elements for each atom in the unit cell in the same order as `coords`","minItems":1,"items":{"type":"string"}},"abc":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"angles":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"cartesian":{"type":"boolean","description":"True if the coordinates are in Cartesian space, false if in fractional space"},"props":{"type":"array","description":"Additional properties for each of the atoms","items":{"type":"string"}}}},{"$id":"apse/db/nist-jarvis/2024.3.13/db-entry","$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS db entry schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","type":"object","additionalProperties":true,"properties":{"atoms":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS Atoms schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","type":"object","additionalProperties":false,"properties":{"lattice_mat":{"type":"array","description":"Crystal lattice vectors as a 3x3 matrix, in Angstroms","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"coords":{"type":"array","description":"Atomic coordinates for each atom in the unit cell","minItems":1,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"elements":{"type":"array","description":"Atomic elements for each atom in the unit cell in the same order as `coords`","minItems":1,"items":{"type":"string"}},"abc":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"angles":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"cartesian":{"type":"boolean","description":"True if the coordinates are in Cartesian space, false if in fractional space"},"props":{"type":"array","description":"Additional properties for each of the atoms","items":{"type":"string"}}}},"jid":{"type":"string","description":"The id of the entry in the database, e.g. JVASP-677"}}},{"$id":"apse/db/third-party-sources","$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","required":["source"],"properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/atomic-positions","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic positions schema","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom","crystal","crystal_sg"],"default":"alat"},"values":{"type":"array","items":{"type":"object","required":["x","y","z"],"additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}}}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/atomic-species","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic species schema","type":"object","additionalProperties":false,"properties":{"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/cell","$schema":"http://json-schema.org/draft-07/schema#","title":"cell schema","type":"object","oneOf":[{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","sd","damp-pr","damp-w","bfgs"],"default":"bfgs","description":"CASE ( calculation == 'vc-relax' )"}}},{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","pr","w"],"description":"CASE ( calculation == 'vc-md' )"}}}],"additionalProperties":false,"properties":{"press":{"type":"number","description":"Target pressure [KBar] in a variable-cell md or relaxation run.","default":0},"wmass":{"type":"number","description":"Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD"},"cell_factor":{"type":"number","description":"Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise"},"press_conv_thr":{"type":"number","default":0.5,"description":"Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well)."},"cell_dofree":{"type":"string","enum":["all","ibrav","a","b","c","fixa","fixb","fixc","x","y","xy","xz","xyz","shape","volume","2Dxy","2Dshape","epitaxial_ab","epitaxial_ac","epitaxial_bc"],"default":"all","description":"Select which of the cell parameters should be moved"}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/cell-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"cell parameters schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom"],"description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"values":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/control","$schema":"http://json-schema.org/draft-07/schema#","title":"control schema","type":"object","additionalProperties":false,"properties":{"calculation":{"description":"A string describing the task to be performed","type":"string","enum":["scf","nscf","bands","relax","md","vc-relax","vc-md"],"default":"scf"},"title":{"description":"reprinted on output.","type":"string","default":""},"verbosity":{"description":"Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low'","type":"string","enum":["high","low","debug","medium","minimal","default"],"default":"low"},"restart_mode":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"wf_collect":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"nstep":{"description":"Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick \"dry run\", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform \"nstep\" steps even if restarting from a previously interrupted calculation.","type":"number","default":1},"iprint":{"description":"band energies are written every iprint iterations","type":"number"},"tstress":{"type":"boolean","default":false,"description":"calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax'"},"tprnfor":{"type":"boolean","description":"calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md'"},"dt":{"type":"number","description":"time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!)","default":20},"outdir":{"type":"string","description":"input, temporary, output files are found in this directory, see also wfcdir"},"wfcdir":{"type":"string","description":"This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x."},"prefix":{"type":"string","description":"prepended to input/output filenames: prefix.wfc, prefix.rho, etc.","default":"pwscf"},"lkpoint_dir":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"max_seconds":{"type":"number","default":10000000,"description":"Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues."},"etot_conv_thr":{"type":"number","default":0.0001,"description":"Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied"},"forc_conv_thr":{"type":"number","default":0.001,"description":"Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied"},"disk_io":{"type":"string","enum":["high","medium","low","nowf","none"],"description":"Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option )"},"pseudo_dir":{"type":"string","description":"directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise"},"tefield":{"type":"boolean","default":false,"description":"If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential."},"dipfield":{"type":"boolean","default":false,"description":"If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE."},"lelfield":{"type":"boolean","default":false,"description":"If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. !"},"nberrycyc":{"type":"integer","default":1,"description":"In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density"},"lorbm":{"type":"boolean","default":false,"description":"If .TRUE. perform orbital magnetization calculation."},"lberry":{"type":"boolean","default":false,"description":"If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation"},"gdir":{"type":"number","description":"For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) \"gdir\" is the direction of the field."},"nppstr":{"type":"number","description":"For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.)."},"gate":{"type":"boolean","default":false,"description":"In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called \"monopole\" in v6.0 and 6.1 of pw.x"},"twochem":{"type":"boolean","default":false,"description":"IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold."},"lfcp":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP."},"trism":{"type":"boolean","default":false,"description":"If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. ."}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/electrons","$schema":"http://json-schema.org/draft-07/schema#","title":"electrons schema","type":"object","additionalProperties":false,"properties":{"electron_maxstep":{"type":"integer","default":100,"description":"maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops."},"exx_maxstep":{"type":"integer","default":100,"description":"maximum number of outer iterations in a scf calculation with exact exchange."},"scf_must_converge":{"type":"boolean","default":true,"description":"If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care."},"conv_thr":{"type":"number"},"adaptive_thr":{"type":"boolean","default":false,"description":"If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX."},"conv_thr_init":{"type":"number","description":"When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle."},"conv_thr_multi":{"type":"number","description":"When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx )"},"mixing_mode":{"type":"string","enum":["plain","TF","local-TF"],"default":"plain"},"mixing_beta":{"type":"number","description":"mixing factor for self-consistency"},"mixing_ndim":{"type":"integer","default":8,"description":"number of iterations used in mixing scheme"},"mixing_fixed_ns":{"type":"integer","default":0,"description":"For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term )."},"diagonalization":{"type":"string","enum":["david","cg","ppcg","paro","ParO","rmm-davidson","rmm-paro"],"default":"david"},"diago_thr_init":{"type":"number","description":"Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence)."},"diago_cg_maxiter":{"type":"integer","description":"For conjugate gradient diagonalization: max number of iterations"},"diago_ppcg_maxiter":{"type":"integer","description":"For ppcg diagonalization: max number of iterations"},"diago_david_ndim":{"type":"integer","default":2,"description":"For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_ndim":{"type":"integer","default":4,"description":"For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_conv":{"type":"boolean","default":false,"description":"If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once."},"diago_gs_nblock":{"type":"integer","default":16,"description":"For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization"},"diago_full_acc":{"type":"boolean","default":false,"description":"If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties)."},"efield":{"type":"number","description":"Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic."},"efield_cart":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"efield_phase":{"type":"string","enum":["read","write","none"],"default":"none"},"startingpot":{"type":"string","enum":["atomic","file"]},"startingwfc":{"type":"string","enum":["atomic","atomic+random","random","file"],"default":"atomic+random"},"tqr":{"type":"boolean","default":false,"description":"If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing!"},"real_space":{"type":"boolean","default":false,"description":"If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing!"}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/hubbard","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["atomic","ortho-atomic","norm-atomic","wf","pseudo"]},"values":{"oneOf":[{"description":"IF DFT+U","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1764","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1784","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}}]}},{"description":"IF DFT+U+J","type":"array","items":{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1817","additionalProperties":false,"properties":{"paramType":{"type":"string","enum":["U","J","B","E2","E3"],"description":"character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals)"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"paramValue":{"type":"number","description":"value of the J0 parameter (in eV)"}}}},{"description":"IF DFT+U+V","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1847","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1865","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1884","additionalProperties":false,"properties":{"V":{"type":"string","enum":["V"],"description":"string constant \"V\"; indicates the specs for the V parameter will be given"},"label(I)":{"type":"string","description":"label of the atom I (as defined in ATOMIC_SPECIES)"},"manifold(I)":{"type":"string","description":"specs of the manifold for atom I (e.g., 3d, 2p...)"},"label(J)":{"type":"string","description":"label of the atom J (as defined in ATOMIC_SPECIES)"},"manifold(J)":{"type":"string","description":"specs of the manifold for atom J (e.g., 3d, 2p...)"},"I":{"type":"integer","description":"index of the atom I"},"J":{"type":"integer","description":"index of the atom J"},"v_val(I,J)":{"type":"number","description":"value of the V parameter for the atom pair I,J (in eV)"}}}]}}]}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/ions","$schema":"http://json-schema.org/draft-07/schema#","title":"ions schema","type":"object","oneOf":[{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp","fire"],"default":"bfgs","description":"CASE: calculation == 'relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["verlet","langevin","langevin-smc"],"default":"verlet","description":"CASE: calculation == 'md'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp"],"default":"bfgs","description":"CASE: calculation == 'vc-relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["beeman"],"default":"beeman","description":"CASE: calculation == 'vc-md'"}}}],"additionalProperties":false,"properties":{"ion_positions":{"type":"string","enum":["default","from_input"],"default":"default"},"ion_velocities":{"type":"string","enum":["default","from_input"],"default":"default"},"pot_extrapolation":{"type":"string","enum":["none","atomic","first_order","second_order"],"default":"atomic","description":"Used to extrapolate the potential from preceding ionic steps."},"wfc_extrapolation":{"type":"string","enum":["none","first_order","second_order"],"default":"none","description":"Used to extrapolate the wavefunctions from preceding ionic steps."},"remove_rigid_rot":{"type":"boolean","default":false,"description":"This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells."},"ion_temperature":{"type":"string","enum":["rescaling","rescale-v","rescale-T","reduce-T","berendsen","andersen","svr","initial","not_controlled"],"default":"not_controlled"},"tempw":{"type":"number","description":"Starting temperature (Kelvin) in MD runs target temperature for most thermostats.","default":300},"tolp":{"type":"number","description":"Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp.","default":100},"delta_t":{"type":"number","default":1},"nraise":{"type":"integer","default":1},"refold_pos":{"type":"boolean","default":false,"description":"This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell."},"upscale":{"type":"number","description":"Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale.","default":100},"bfgs_ndim":{"type":"integer","default":1,"description":"Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm."},"trust_radius_max":{"type":"number","description":"Maximum ionic displacement in the structural relaxation. (bfgs only)","default":0.8},"trust_radius_min":{"type":"number","description":"Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only)","default":0.001},"trust_radius_ini":{"type":"number","description":"Initial ionic displacement in the structural relaxation. (bfgs only)","default":0.5},"w_1":{"type":"number","default":0.01},"w_2":{"type":"number","description":"Parameters used in line search based on the Wolfe conditions. (bfgs only)","default":0.5},"fire_alpha_init":{"type":"number","description":"Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3","default":0.2},"fire_falpha":{"type":"number","description":"Scaling of the alpha mixing parameter for steps with P > 0;","default":0.99},"fire_nmin":{"type":"integer","default":5,"description":"Minimum number of steps with P > 0 before increase of dt"},"fire_f_inc":{"type":"number","description":"Factor for increasing dt","default":1.1},"fire_f_dec":{"type":"number","description":"Factor for decreasing dt","default":0.5},"fire_dtmax":{"type":"number","description":"Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt","default":10}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/k-points","$schema":"http://json-schema.org/draft-07/schema#","title":"k points schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["tpiba","automatic","crystal","gamma","tpiba_b","crystal_b","tpiba_c","crystal_c"]},"values":{"oneOf":[{"type":"array","description":"K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c","items":{"type":"object","additionalProperties":false,"properties":{"nks":{"type":"integer","description":"Number of supplied special k-points."},"xk_x":{"type":"number"},"xk_y":{"type":"number"},"xk_z":{"type":"number"},"wk":{"type":"number"}}}},{"type":"object","description":"K_POINTS automatic","additionalProperties":false,"properties":{"nk1":{"type":"integer","description":"Number of supplied special k-points."},"nk2":{"type":"integer","description":"Number of supplied special k-points."},"nk3":{"type":"integer","description":"Number of supplied special k-points."},"sk1":{"type":"integer","description":"Number of supplied special k-points."},"sk2":{"type":"integer","description":"Number of supplied special k-points."},"sk3":{"type":"integer","description":"Number of supplied special k-points."}}},{"type":"null","description":"K_POINTS gamma"}]}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/system","$schema":"http://json-schema.org/draft-07/schema#","title":"system schema","type":"object","anyOf":[{"properties":{"celldm":{"type":"array","minItems":6,"maxItems":6,"items":{"type":"number"}}}},{"properties":{"A":{"type":"number"},"B":{"type":"number"},"C":{"type":"number"},"cosAB":{"type":"number"},"cosAC":{"type":"number"},"cosBC":{"type":"number"}}}],"required":["ibrav","nat","ntyp","ecutwfc"],"additionalProperties":false,"properties":{"ibrav":{"type":"integer"},"nat":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"ntyp":{"type":"integer","description":"number of types of atoms in the unit cell"},"nbnd":{"type":"integer","description":"Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)"},"nbnd_cond":{"type":"integer","description":"Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case."},"tot_charge":{"type":"number","default":0},"starting_charge":{"type":"number","default":0,"description":"starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'."},"tot_magnetization":{"type":"number","default":-10000,"description":"Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle."},"starting_magnetization":{"type":"array","items":{"type":"number","default":0,"minimum":-1,"maximum":1}},"ecutwfc":{"type":"number","description":"kinetic energy cutoff (Ry) for wavefunctions"},"ecutrho":{"type":"number","description":"Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc"},"ecutfock":{"type":"number","description":"Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials."},"nr1":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr2":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr3":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr1s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr2s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr3s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nosym":{"type":"boolean","default":false},"nosym_evc":{"type":"boolean","default":false},"noinv":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation"},"no_t_rev":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal."},"force_symmorphic":{"type":"boolean","default":false,"description":"if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation"},"use_all_frac":{"type":"boolean","default":false},"occupations":{"type":"string","enum":["smearing","tetrahedra","tetrahedra_lin","tetrahedra_opt","fixed","from_input"]},"one_atom_occupations":{"type":"boolean","default":false},"starting_spin_angle":{"type":"boolean","default":false},"degauss_cond":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.)."},"nelec_cond":{"type":"number","default":0,"description":"Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold."},"degauss":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in metals."},"smearing":{"type":"string","enum":["gaussian","gauss","methfessel-paxton","m-p","mp","marzari-vanderbilt","cold","m-v","mv","fermi-dirac","f-d","fd"],"default":"gaussian"},"nspin":{"type":"integer","default":1},"sic_gamma":{"type":"number","default":0,"description":"Strength of the gammaDFT potential."},"pol_type":{"type":"string","enum":["e","h"],"description":"Type of polaron in gammaDFT."},"sic_energy":{"type":"boolean","default":false,"description":"Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost."},"sci_vb":{"type":"number","default":0,"description":"Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"sci_cb":{"type":"number","default":0,"description":"Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"noncolin":{"type":"boolean","default":false,"description":"if .true. the program will perform a noncollinear calculation."},"ecfixed":{"type":"number","default":0},"qcutz":{"type":"number","default":0},"q2sigma":{"type":"number","default":0.1},"input_dft":{"type":"string","description":"Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!"},"ace":{"type":"boolean","default":true,"description":"Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092"},"exx_fraction":{"type":"number","description":"Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20."},"screening_parameter":{"type":"number","default":0.106,"description":"screening_parameter for HSE like hybrid functionals."},"exxdiv_treatment":{"type":"string","default":"gygi-baldereschi","enum":["gygi-baldereschi","vcut_spherical","vcut_ws","none"]},"x_gamma_extrapolation":{"type":"boolean","default":true,"description":"Specific for EXX. If .true., extrapolate the G=0 term of the potential"},"ecutvcut":{"type":"number","description":"Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors."},"nqx1":{"type":"integer","default":0,"description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx2":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx3":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"localization_thr":{"type":"number","default":0,"description":"Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation"},"Hubbard_occ":{"type":"array","items":{"type":"array","minItems":3,"maxItems":3,"items":[{"type":"integer","minimum":1},{"type":"integer","minimum":1,"maximum":3},{"type":"number"}]}},"Hubbard_alpha":{"type":"array","items":{"type":"number","default":0}},"Hubbard_beta":{"type":"array","items":{"type":"number","default":0}},"starting_ns_eigenvalue":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"dmft":{"type":"boolean","default":false,"description":"If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1."},"dmft_prefix":{"type":"string","description":"prepended to hdf5 archive: dmft_prefix.h5"},"ensemble_energies":{"type":"boolean","default":false,"description":"If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation."},"edir":{"type":"integer","description":"The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE."},"emaxpos":{"type":"number","default":0.5,"description":"Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE."},"eopreg":{"type":"number","default":0.1,"description":"Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE."},"eamp":{"type":"number","default":0.001},"angle1":{"type":"array","maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types.","items":{"type":"number"}},"angle2":{"type":"array","maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only.","items":{"type":"number"}},"lforcet":{"type":"boolean","description":"When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1"},"constrained_magnetization":{"type":"string","enum":["none","total","atomic","total direction","atomic direction"],"default":"none","description":"Used to perform constrained calculations in magnetic systems."},"fixed_magnetization":{"type":"array","maxItems":3,"minItems":3,"items":{"type":"number","default":0}},"lambda":{"type":"number","default":1,"description":"parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda"},"report":{"type":"integer","default":-1,"description":"determines when atomic magnetic moments are printed on output"},"lspinorb":{"type":"boolean","description":"if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit."},"assume_isolated":{"type":"string","enum":["none","makov-payne","m-p","mp","martyna-tuckerman","m-t","mt","esm","2D"],"default":"none","description":"Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)"},"esm_bc":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"esm_w":{"type":"number","default":0,"description":"If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] )."},"esm_efield":{"type":"number","default":0,"description":"If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes."},"esm_nfit":{"type":"integer","default":4,"description":"If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge."},"lgcscf":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF."},"gcscf_mu":{"type":"number","description":"The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge"},"gcscf_conv_thr":{"type":"number","default":0.01,"description":"Convergence threshold of Fermi energy (eV) for GC-SCF."},"gcscf_beta":{"type":"number","default":0.05,"description":"Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite."},"vdw_corr":{"type":"string","enum":["none","grimme-d2","Grimme-D2","DFT-D","dft-d","grimme-d3","Grimme-D3","DFT-D3","dft-d3","TS","ts","ts-vdw","ts-vdW","tkatchenko-scheffler","MBD","mbd","many-body-dispersion","mbd_vdw","XDM","xdm"],"default":"none","description":"Type of Van der Waals correction"},"london":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='DFT-D'"},"london_s6":{"type":"number","default":0.75,"description":"global scaling parameter for DFT-D. Default is good for PBE."},"london_c6":{"type":"number","description":"atomic C6 coefficient of each atom type"},"london_rvdw":{"type":"number","description":"atomic vdw radii of each atom type"},"london_rcut":{"type":"number","default":200,"description":"cutoff radius (a.u.) for dispersion interactions"},"dftd3_version":{"type":"integer","default":3,"minimum":2,"maximum":6,"description":"Version of Grimme implementation of Grimme-D3"},"dftd3_threebody":{"type":"boolean","default":true,"description":"Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled."},"ts_vdw_econv_thr":{"type":"number","default":0.000001,"description":"Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it"},"ts_vdw_isolated":{"type":"boolean","default":false,"description":"Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system."},"xdm":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='xdm'"},"xdm_a1":{"type":"number","default":0.6836,"description":"Damping function parameter a1 (adimensional)"},"xdm_a2":{"type":"number","default":1.5045,"description":"Damping function parameter a2 (angstrom)"},"space_group":{"type":"integer","default":0,"description":"The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)"},"uniqueb":{"type":"boolean","default":false,"description":"Used only for monoclinic lattices"},"origin_choice":{"type":"integer","default":1,"description":"Used only for space groups that in the ITA allow the use of two different origins"},"rhombohedral":{"type":"boolean","default":true,"description":"Used only for rhombohedral space groups."},"zgate":{"type":"number","default":0.5,"description":"used only if gate = .TRUE."},"relaxz":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block_1":{"type":"number","default":0.45,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_2":{"type":"number","default":0.55,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_height":{"type":"number","default":0.1,"description":"used only if gate = .TRUE. and block = .TRUE."},"nextffield":{"type":"integer","default":0,"description":"Number of activated external ionic force fields."}}},{"$id":"apse/file/applications/espresso/7.2/pw.x","$schema":"http://json-schema.org/draft-07/schema#","title":"pwx main schema","type":"object","additionalProperties":false,"properties":{"&CONTROL":{"$schema":"http://json-schema.org/draft-07/schema#","title":"control schema","type":"object","additionalProperties":false,"properties":{"calculation":{"description":"A string describing the task to be performed","type":"string","enum":["scf","nscf","bands","relax","md","vc-relax","vc-md"],"default":"scf"},"title":{"description":"reprinted on output.","type":"string","default":""},"verbosity":{"description":"Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low'","type":"string","enum":["high","low","debug","medium","minimal","default"],"default":"low"},"restart_mode":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"wf_collect":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"nstep":{"description":"Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick \"dry run\", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform \"nstep\" steps even if restarting from a previously interrupted calculation.","type":"number","default":1},"iprint":{"description":"band energies are written every iprint iterations","type":"number"},"tstress":{"type":"boolean","default":false,"description":"calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax'"},"tprnfor":{"type":"boolean","description":"calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md'"},"dt":{"type":"number","description":"time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!)","default":20},"outdir":{"type":"string","description":"input, temporary, output files are found in this directory, see also wfcdir"},"wfcdir":{"type":"string","description":"This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x."},"prefix":{"type":"string","description":"prepended to input/output filenames: prefix.wfc, prefix.rho, etc.","default":"pwscf"},"lkpoint_dir":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"max_seconds":{"type":"number","default":10000000,"description":"Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues."},"etot_conv_thr":{"type":"number","default":0.0001,"description":"Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied"},"forc_conv_thr":{"type":"number","default":0.001,"description":"Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied"},"disk_io":{"type":"string","enum":["high","medium","low","nowf","none"],"description":"Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option )"},"pseudo_dir":{"type":"string","description":"directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise"},"tefield":{"type":"boolean","default":false,"description":"If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential."},"dipfield":{"type":"boolean","default":false,"description":"If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE."},"lelfield":{"type":"boolean","default":false,"description":"If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. !"},"nberrycyc":{"type":"integer","default":1,"description":"In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density"},"lorbm":{"type":"boolean","default":false,"description":"If .TRUE. perform orbital magnetization calculation."},"lberry":{"type":"boolean","default":false,"description":"If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation"},"gdir":{"type":"number","description":"For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) \"gdir\" is the direction of the field."},"nppstr":{"type":"number","description":"For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.)."},"gate":{"type":"boolean","default":false,"description":"In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called \"monopole\" in v6.0 and 6.1 of pw.x"},"twochem":{"type":"boolean","default":false,"description":"IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold."},"lfcp":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP."},"trism":{"type":"boolean","default":false,"description":"If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. ."}}},"&SYSTEM":{"$schema":"http://json-schema.org/draft-07/schema#","title":"system schema","type":"object","anyOf":[{"properties":{"celldm":{"type":"array","minItems":6,"maxItems":6,"items":{"type":"number"}}}},{"properties":{"A":{"type":"number"},"B":{"type":"number"},"C":{"type":"number"},"cosAB":{"type":"number"},"cosAC":{"type":"number"},"cosBC":{"type":"number"}}}],"required":["ibrav","nat","ntyp","ecutwfc"],"additionalProperties":false,"properties":{"ibrav":{"type":"integer"},"nat":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"ntyp":{"type":"integer","description":"number of types of atoms in the unit cell"},"nbnd":{"type":"integer","description":"Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)"},"nbnd_cond":{"type":"integer","description":"Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case."},"tot_charge":{"type":"number","default":0},"starting_charge":{"type":"number","default":0,"description":"starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'."},"tot_magnetization":{"type":"number","default":-10000,"description":"Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle."},"starting_magnetization":{"type":"array","items":{"type":"number","default":0,"minimum":-1,"maximum":1}},"ecutwfc":{"type":"number","description":"kinetic energy cutoff (Ry) for wavefunctions"},"ecutrho":{"type":"number","description":"Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc"},"ecutfock":{"type":"number","description":"Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials."},"nr1":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr2":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr3":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr1s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr2s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr3s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nosym":{"type":"boolean","default":false},"nosym_evc":{"type":"boolean","default":false},"noinv":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation"},"no_t_rev":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal."},"force_symmorphic":{"type":"boolean","default":false,"description":"if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation"},"use_all_frac":{"type":"boolean","default":false},"occupations":{"type":"string","enum":["smearing","tetrahedra","tetrahedra_lin","tetrahedra_opt","fixed","from_input"]},"one_atom_occupations":{"type":"boolean","default":false},"starting_spin_angle":{"type":"boolean","default":false},"degauss_cond":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.)."},"nelec_cond":{"type":"number","default":0,"description":"Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold."},"degauss":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in metals."},"smearing":{"type":"string","enum":["gaussian","gauss","methfessel-paxton","m-p","mp","marzari-vanderbilt","cold","m-v","mv","fermi-dirac","f-d","fd"],"default":"gaussian"},"nspin":{"type":"integer","default":1},"sic_gamma":{"type":"number","default":0,"description":"Strength of the gammaDFT potential."},"pol_type":{"type":"string","enum":["e","h"],"description":"Type of polaron in gammaDFT."},"sic_energy":{"type":"boolean","default":false,"description":"Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost."},"sci_vb":{"type":"number","default":0,"description":"Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"sci_cb":{"type":"number","default":0,"description":"Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"noncolin":{"type":"boolean","default":false,"description":"if .true. the program will perform a noncollinear calculation."},"ecfixed":{"type":"number","default":0},"qcutz":{"type":"number","default":0},"q2sigma":{"type":"number","default":0.1},"input_dft":{"type":"string","description":"Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!"},"ace":{"type":"boolean","default":true,"description":"Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092"},"exx_fraction":{"type":"number","description":"Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20."},"screening_parameter":{"type":"number","default":0.106,"description":"screening_parameter for HSE like hybrid functionals."},"exxdiv_treatment":{"type":"string","default":"gygi-baldereschi","enum":["gygi-baldereschi","vcut_spherical","vcut_ws","none"]},"x_gamma_extrapolation":{"type":"boolean","default":true,"description":"Specific for EXX. If .true., extrapolate the G=0 term of the potential"},"ecutvcut":{"type":"number","description":"Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors."},"nqx1":{"type":"integer","default":0,"description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx2":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx3":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"localization_thr":{"type":"number","default":0,"description":"Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation"},"Hubbard_occ":{"type":"array","items":{"type":"array","minItems":3,"maxItems":3,"items":[{"type":"integer","minimum":1},{"type":"integer","minimum":1,"maximum":3},{"type":"number"}]}},"Hubbard_alpha":{"type":"array","items":{"type":"number","default":0}},"Hubbard_beta":{"type":"array","items":{"type":"number","default":0}},"starting_ns_eigenvalue":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"dmft":{"type":"boolean","default":false,"description":"If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1."},"dmft_prefix":{"type":"string","description":"prepended to hdf5 archive: dmft_prefix.h5"},"ensemble_energies":{"type":"boolean","default":false,"description":"If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation."},"edir":{"type":"integer","description":"The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE."},"emaxpos":{"type":"number","default":0.5,"description":"Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE."},"eopreg":{"type":"number","default":0.1,"description":"Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE."},"eamp":{"type":"number","default":0.001},"angle1":{"type":"array","maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types.","items":{"type":"number"}},"angle2":{"type":"array","maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only.","items":{"type":"number"}},"lforcet":{"type":"boolean","description":"When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1"},"constrained_magnetization":{"type":"string","enum":["none","total","atomic","total direction","atomic direction"],"default":"none","description":"Used to perform constrained calculations in magnetic systems."},"fixed_magnetization":{"type":"array","maxItems":3,"minItems":3,"items":{"type":"number","default":0}},"lambda":{"type":"number","default":1,"description":"parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda"},"report":{"type":"integer","default":-1,"description":"determines when atomic magnetic moments are printed on output"},"lspinorb":{"type":"boolean","description":"if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit."},"assume_isolated":{"type":"string","enum":["none","makov-payne","m-p","mp","martyna-tuckerman","m-t","mt","esm","2D"],"default":"none","description":"Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)"},"esm_bc":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"esm_w":{"type":"number","default":0,"description":"If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] )."},"esm_efield":{"type":"number","default":0,"description":"If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes."},"esm_nfit":{"type":"integer","default":4,"description":"If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge."},"lgcscf":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF."},"gcscf_mu":{"type":"number","description":"The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge"},"gcscf_conv_thr":{"type":"number","default":0.01,"description":"Convergence threshold of Fermi energy (eV) for GC-SCF."},"gcscf_beta":{"type":"number","default":0.05,"description":"Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite."},"vdw_corr":{"type":"string","enum":["none","grimme-d2","Grimme-D2","DFT-D","dft-d","grimme-d3","Grimme-D3","DFT-D3","dft-d3","TS","ts","ts-vdw","ts-vdW","tkatchenko-scheffler","MBD","mbd","many-body-dispersion","mbd_vdw","XDM","xdm"],"default":"none","description":"Type of Van der Waals correction"},"london":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='DFT-D'"},"london_s6":{"type":"number","default":0.75,"description":"global scaling parameter for DFT-D. Default is good for PBE."},"london_c6":{"type":"number","description":"atomic C6 coefficient of each atom type"},"london_rvdw":{"type":"number","description":"atomic vdw radii of each atom type"},"london_rcut":{"type":"number","default":200,"description":"cutoff radius (a.u.) for dispersion interactions"},"dftd3_version":{"type":"integer","default":3,"minimum":2,"maximum":6,"description":"Version of Grimme implementation of Grimme-D3"},"dftd3_threebody":{"type":"boolean","default":true,"description":"Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled."},"ts_vdw_econv_thr":{"type":"number","default":0.000001,"description":"Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it"},"ts_vdw_isolated":{"type":"boolean","default":false,"description":"Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system."},"xdm":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='xdm'"},"xdm_a1":{"type":"number","default":0.6836,"description":"Damping function parameter a1 (adimensional)"},"xdm_a2":{"type":"number","default":1.5045,"description":"Damping function parameter a2 (angstrom)"},"space_group":{"type":"integer","default":0,"description":"The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)"},"uniqueb":{"type":"boolean","default":false,"description":"Used only for monoclinic lattices"},"origin_choice":{"type":"integer","default":1,"description":"Used only for space groups that in the ITA allow the use of two different origins"},"rhombohedral":{"type":"boolean","default":true,"description":"Used only for rhombohedral space groups."},"zgate":{"type":"number","default":0.5,"description":"used only if gate = .TRUE."},"relaxz":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block_1":{"type":"number","default":0.45,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_2":{"type":"number","default":0.55,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_height":{"type":"number","default":0.1,"description":"used only if gate = .TRUE. and block = .TRUE."},"nextffield":{"type":"integer","default":0,"description":"Number of activated external ionic force fields."}}},"&ELECTRONS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"electrons schema","type":"object","additionalProperties":false,"properties":{"electron_maxstep":{"type":"integer","default":100,"description":"maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops."},"exx_maxstep":{"type":"integer","default":100,"description":"maximum number of outer iterations in a scf calculation with exact exchange."},"scf_must_converge":{"type":"boolean","default":true,"description":"If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care."},"conv_thr":{"type":"number"},"adaptive_thr":{"type":"boolean","default":false,"description":"If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX."},"conv_thr_init":{"type":"number","description":"When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle."},"conv_thr_multi":{"type":"number","description":"When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx )"},"mixing_mode":{"type":"string","enum":["plain","TF","local-TF"],"default":"plain"},"mixing_beta":{"type":"number","description":"mixing factor for self-consistency"},"mixing_ndim":{"type":"integer","default":8,"description":"number of iterations used in mixing scheme"},"mixing_fixed_ns":{"type":"integer","default":0,"description":"For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term )."},"diagonalization":{"type":"string","enum":["david","cg","ppcg","paro","ParO","rmm-davidson","rmm-paro"],"default":"david"},"diago_thr_init":{"type":"number","description":"Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence)."},"diago_cg_maxiter":{"type":"integer","description":"For conjugate gradient diagonalization: max number of iterations"},"diago_ppcg_maxiter":{"type":"integer","description":"For ppcg diagonalization: max number of iterations"},"diago_david_ndim":{"type":"integer","default":2,"description":"For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_ndim":{"type":"integer","default":4,"description":"For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_conv":{"type":"boolean","default":false,"description":"If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once."},"diago_gs_nblock":{"type":"integer","default":16,"description":"For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization"},"diago_full_acc":{"type":"boolean","default":false,"description":"If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties)."},"efield":{"type":"number","description":"Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic."},"efield_cart":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"efield_phase":{"type":"string","enum":["read","write","none"],"default":"none"},"startingpot":{"type":"string","enum":["atomic","file"]},"startingwfc":{"type":"string","enum":["atomic","atomic+random","random","file"],"default":"atomic+random"},"tqr":{"type":"boolean","default":false,"description":"If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing!"},"real_space":{"type":"boolean","default":false,"description":"If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing!"}}},"&IONS":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"ions schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp","fire"],"default":"bfgs","description":"CASE: calculation == 'relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["verlet","langevin","langevin-smc"],"default":"verlet","description":"CASE: calculation == 'md'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp"],"default":"bfgs","description":"CASE: calculation == 'vc-relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["beeman"],"default":"beeman","description":"CASE: calculation == 'vc-md'"}}}],"properties":{"ion_positions":{"type":"string","enum":["default","from_input"],"default":"default"},"ion_velocities":{"type":"string","enum":["default","from_input"],"default":"default"},"pot_extrapolation":{"type":"string","enum":["none","atomic","first_order","second_order"],"default":"atomic","description":"Used to extrapolate the potential from preceding ionic steps."},"wfc_extrapolation":{"type":"string","enum":["none","first_order","second_order"],"default":"none","description":"Used to extrapolate the wavefunctions from preceding ionic steps."},"remove_rigid_rot":{"type":"boolean","default":false,"description":"This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells."},"ion_temperature":{"type":"string","enum":["rescaling","rescale-v","rescale-T","reduce-T","berendsen","andersen","svr","initial","not_controlled"],"default":"not_controlled"},"tempw":{"type":"number","description":"Starting temperature (Kelvin) in MD runs target temperature for most thermostats.","default":300},"tolp":{"type":"number","description":"Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp.","default":100},"delta_t":{"type":"number","default":1},"nraise":{"type":"integer","default":1},"refold_pos":{"type":"boolean","default":false,"description":"This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell."},"upscale":{"type":"number","description":"Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale.","default":100},"bfgs_ndim":{"type":"integer","default":1,"description":"Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm."},"trust_radius_max":{"type":"number","description":"Maximum ionic displacement in the structural relaxation. (bfgs only)","default":0.8},"trust_radius_min":{"type":"number","description":"Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only)","default":0.001},"trust_radius_ini":{"type":"number","description":"Initial ionic displacement in the structural relaxation. (bfgs only)","default":0.5},"w_1":{"type":"number","default":0.01},"w_2":{"type":"number","description":"Parameters used in line search based on the Wolfe conditions. (bfgs only)","default":0.5},"fire_alpha_init":{"type":"number","description":"Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3","default":0.2},"fire_falpha":{"type":"number","description":"Scaling of the alpha mixing parameter for steps with P > 0;","default":0.99},"fire_nmin":{"type":"integer","default":5,"description":"Minimum number of steps with P > 0 before increase of dt"},"fire_f_inc":{"type":"number","description":"Factor for increasing dt","default":1.1},"fire_f_dec":{"type":"number","description":"Factor for decreasing dt","default":0.5},"fire_dtmax":{"type":"number","description":"Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt","default":10}}},{"type":"null"}]},"&CELL":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"cell schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","sd","damp-pr","damp-w","bfgs"],"default":"bfgs","description":"CASE ( calculation == 'vc-relax' )"}}},{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","pr","w"],"description":"CASE ( calculation == 'vc-md' )"}}}],"properties":{"press":{"type":"number","description":"Target pressure [KBar] in a variable-cell md or relaxation run.","default":0},"wmass":{"type":"number","description":"Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD"},"cell_factor":{"type":"number","description":"Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise"},"press_conv_thr":{"type":"number","default":0.5,"description":"Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well)."},"cell_dofree":{"type":"string","enum":["all","ibrav","a","b","c","fixa","fixb","fixc","x","y","xy","xz","xyz","shape","volume","2Dxy","2Dshape","epitaxial_ab","epitaxial_ac","epitaxial_bc"],"default":"all","description":"Select which of the cell parameters should be moved"}}},{"type":"null"}]},"ATOMIC_SPECIES":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic species schema","type":"object","additionalProperties":false,"properties":{"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}}}},"ATOMIC_POSITIONS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic positions schema","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom","crystal","crystal_sg"],"default":"alat"},"values":{"type":"array","items":{"type":"object","required":["x","y","z"],"additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}}}}}},"K_POINTS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"k points schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["tpiba","automatic","crystal","gamma","tpiba_b","crystal_b","tpiba_c","crystal_c"]},"values":{"oneOf":[{"type":"array","description":"K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c","items":{"type":"object","additionalProperties":false,"properties":{"nks":{"type":"integer","description":"Number of supplied special k-points."},"xk_x":{"type":"number"},"xk_y":{"type":"number"},"xk_z":{"type":"number"},"wk":{"type":"number"}}}},{"type":"object","description":"K_POINTS automatic","additionalProperties":false,"properties":{"nk1":{"type":"integer","description":"Number of supplied special k-points."},"nk2":{"type":"integer","description":"Number of supplied special k-points."},"nk3":{"type":"integer","description":"Number of supplied special k-points."},"sk1":{"type":"integer","description":"Number of supplied special k-points."},"sk2":{"type":"integer","description":"Number of supplied special k-points."},"sk3":{"type":"integer","description":"Number of supplied special k-points."}}},{"type":"null","description":"K_POINTS gamma"}]}}},"CELL_PARAMETERS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"cell parameters schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom"],"description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"values":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}},"HUBBARD":{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["atomic","ortho-atomic","norm-atomic","wf","pseudo"]},"values":{"oneOf":[{"description":"IF DFT+U","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1764","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1784","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}}]}},{"description":"IF DFT+U+J","type":"array","items":{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1817","additionalProperties":false,"properties":{"paramType":{"type":"string","enum":["U","J","B","E2","E3"],"description":"character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals)"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"paramValue":{"type":"number","description":"value of the J0 parameter (in eV)"}}}},{"description":"IF DFT+U+V","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1847","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1865","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1884","additionalProperties":false,"properties":{"V":{"type":"string","enum":["V"],"description":"string constant \"V\"; indicates the specs for the V parameter will be given"},"label(I)":{"type":"string","description":"label of the atom I (as defined in ATOMIC_SPECIES)"},"manifold(I)":{"type":"string","description":"specs of the manifold for atom I (e.g., 3d, 2p...)"},"label(J)":{"type":"string","description":"label of the atom J (as defined in ATOMIC_SPECIES)"},"manifold(J)":{"type":"string","description":"specs of the manifold for atom J (e.g., 3d, 2p...)"},"I":{"type":"integer","description":"index of the atom I"},"J":{"type":"integer","description":"index of the atom J"},"v_val(I,J)":{"type":"number","description":"value of the V parameter for the atom pair I,J (in eV)"}}}]}}]}}}}},{"$id":"apse/materials/builders/slab/pymatgen/parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"Pymatgen Slab Generator Parameters Schema","description":"Parameters for the Pymatgen slab generator. https://github.com/materialsproject/pymatgen/blob/585bb673c4aa222669c4b0d72ffeec3dbf092630/pymatgen/core/surface.py#L1187","type":"object","properties":{"min_vacuum_size":{"description":"Minimum size of the vacuum in layers or angstroms","type":["integer","number"],"minimum":0,"default":0},"in_unit_planes":{"description":"Whether to use unit planes for the vacuum and slab size","type":"boolean","default":true},"reorient_lattice":{"description":"Whether to reorient the lattice to have c vector along the z-axis","type":"boolean","default":true},"symmetrize":{"description":"Whether to symmetrize the slab","type":"boolean","default":true}}},{"$id":"context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"context provider schema","type":"object","required":["name"],"additionalProperties":true,"properties":{"name":{"type":"string","enum":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"],"tsEnumNames":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"]},"domain":{"description":"domain of the context provider","type":"string"},"entityName":{"description":"entity name associated with the context provider","type":"string"},"data":{"description":"data object for the context provider","type":"object"},"extraData":{"description":"additional data object for the context provider","type":"object"},"isEdited":{"description":"flag indicating if the context provider has been edited","type":"boolean"},"context":{"description":"context object for the context provider","type":"object"}}},{"$id":"context-providers-directory/boundary-conditions-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Provider Schema","type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"},"electricField":{"type":"number","title":"Electric Field (eV/A)"},"targetFermiEnergy":{"type":"number","title":"Target Fermi Energy (eV)"}}},{"$id":"context-providers-directory/by-application/nwchem-total-energy-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"NWChem Total Energy Context Provider Schema","description":"Schema for NWChemTotalEnergyContextProvider that generates context data for NWChem total energy input.","type":"object","required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN"],"properties":{"CHARGE":{"type":"integer","description":"Total charge of the system."},"MULT":{"type":"integer","description":"Spin multiplicity of the system."},"BASIS":{"type":"string","description":"Basis set label used in the calculation (e.g., '6-31G')."},"NAT":{"type":"integer","description":"Number of atoms in the system."},"NTYP":{"type":"integer","description":"Number of unique atomic species in the system."},"ATOMIC_POSITIONS":{"type":"string","description":"Formatted text block with atomic positions including constraints."},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block with atomic positions without constraints."},"ATOMIC_SPECIES":{"type":"string","description":"Formatted text block for atomic species, including element symbols and masses."},"FUNCTIONAL":{"type":"string","description":"Exchange-correlation functional identifier (e.g., 'B3LYP')."},"CARTESIAN":{"type":"boolean","description":"Whether atomic positions are expressed in cartesian coordinates."}}},{"$id":"context-providers-directory/by-application/qe-neb-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE NEB Context Provider Schema","description":"Schema for QENEBContextProvider that generates context data for Quantum ESPRESSO pw.x NEB input. Extends the pw.x context with image-specific atomic positions.","type":"object","required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES"],"properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","required":["x","y","z"],"additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}}}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},"FIRST_IMAGE":{"type":"string","description":"Atomic positions block (ATOMIC_POSITIONS) for the first NEB image."},"LAST_IMAGE":{"type":"string","description":"Atomic positions block (ATOMIC_POSITIONS) for the last NEB image."},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"type":"string"}}}},{"$id":"context-providers-directory/by-application/qe-pwx-base-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Base Context Provider Schema","description":"Base schema with shared Quantum ESPRESSO pw.x context provider properties.","type":"object","properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","required":["x","y","z"],"additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}}}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}},{"$id":"context-providers-directory/by-application/qe-pwx-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Context Provider Schema","description":"Schema for QEPWXContextProvider that generates context data for Quantum ESPRESSO pw.x input files. Contains computed context properties and string-formatted versions of pw.x input sections.","type":"object","required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS"],"properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","required":["x","y","z"],"additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}}}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}},{"$id":"context-providers-directory/by-application/vasp-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"VASP Context Provider Schema","description":"Schema for VASPContextProvider that generates context data for VASP POSCAR input files.","type":"object","required":["POSCAR","POSCAR_WITH_CONSTRAINTS"],"properties":{"POSCAR":{"type":"string","description":"POSCAR content for VASP including lattice, atom types, positions and constraints."},"POSCAR_WITH_CONSTRAINTS":{"type":"string","description":"POSCAR content for VASP including lattice, atom types, positions and constraints. May differ in how constraints are represented."}}},{"$id":"context-providers-directory/by-application/vasp-neb-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"VASP NEB Context Provider Schema","description":"Schema for VASPNEBContextProvider that generates context data for VASP NEB (nudged elastic band) runs.","type":"object","required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES"],"properties":{"FIRST_IMAGE":{"type":"string","description":"POSCAR content with constraints for the first NEB image."},"LAST_IMAGE":{"type":"string","description":"POSCAR content with constraints for the last NEB image."},"INTERMEDIATE_IMAGES":{"type":"array","description":"POSCAR contents with constraints for all intermediate NEB images.","items":{"type":"string"}}}},{"$id":"context-providers-directory/collinear-magnetization-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Provider Schema","description":"Set starting magnetization, can have values in the range [-1, +1].","type":"object","properties":{"startingMagnetization":{"type":"array","items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"value":{"type":"number","title":"Starting magnetization","minimum":-1,"maximum":1}}}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}}},{"$id":"context-providers-directory/enum","definitions":{"ContextProviderNameEnum":{"type":"string","enum":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"],"tsEnumNames":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"]}}},{"$id":"context-providers-directory/hubbard-j-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Provider Schema","description":"Hubbard parameters for DFT+U+J calculation.","type":"array","minItems":1,"items":{"type":"object","properties":{"paramType":{"type":"string","title":"Species","enum":["U","J","B","E2","E3"]},"atomicSpecies":{"type":"string","title":"Species"},"atomicOrbital":{"type":"string","title":"Orbital"},"value":{"type":"number","title":"Value (eV)"}}}},{"$id":"context-providers-directory/hubbard-legacy-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Provider Schema","description":"Hubbard parameters for DFT+U calculation.","type":"array","uniqueItems":true,"minItems":1,"items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"atomicSpeciesIndex":{"type":"integer","title":"Species index"},"hubbardUValue":{"type":"number","title":"Hubbard U (eV)"}}}},{"$id":"context-providers-directory/hubbard-u-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Provider Schema","description":"Hubbard U parameters for DFT+U or DFT+U+V calculation.","type":"array","items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"atomicOrbital":{"type":"string","title":"Atomic orbital"},"hubbardUValue":{"type":"number","title":"Hubbard U (eV)"}}}},{"$id":"context-providers-directory/hubbard-v-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Provider Schema","description":"Hubbard V parameters for DFT+U+V calculation.","type":"array","minItems":1,"items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Species 1"},"siteIndex":{"type":"integer","title":"Site no 1"},"atomicOrbital":{"type":"string","title":"Orbital 1"},"atomicSpecies2":{"type":"string","title":"Species 2"},"siteIndex2":{"type":"integer","title":"Site no 2"},"atomicOrbital2":{"type":"string","title":"Orbital 2"},"hubbardVValue":{"type":"number","title":"V (eV)"}}}},{"$id":"context-providers-directory/ion-dynamics-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Provider Schema","description":"Important parameters for molecular dynamics calculation","type":"object","properties":{"numberOfSteps":{"type":"integer","title":"numberOfSteps"},"timeStep":{"type":"number","title":"timeStep (Hartree a.u.)"},"electronMass":{"type":"number","title":"Effective electron mass"},"temperature":{"type":"number","title":"Ionic temperature (K)"}}},{"$id":"context-providers-directory/ml-settings-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Provider Schema","description":"Settings important to machine learning runs.","type":"object","properties":{"target_column_name":{"type":"string"},"problem_category":{"type":"string","enum":["regression","classification","clustering"]}}},{"$id":"context-providers-directory/ml-train-test-split-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Provider Schema","description":"Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.","type":"object","properties":{"fraction_held_as_test_set":{"type":"number","minimum":0,"maximum":1}}},{"$id":"context-providers-directory/neb-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}},{"$id":"context-providers-directory/non-collinear-magnetization-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Provider Schema","description":"Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.","type":"object","properties":{"isExistingChargeDensity":{"type":"boolean","title":"Use existing charge density"},"isStartingMagnetization":{"type":"boolean","title":"Set starting magnetization"},"startingMagnetization":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","title":"Index"},"atomicSpecies":{"type":"string","title":"Atomic species"},"value":{"type":"number","title":"Starting magnetization"}}}},"isArbitrarySpinAngle":{"type":"boolean","title":"Set arbitrary spin angle"},"spinAngles":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","title":"Index"},"atomicSpecies":{"type":"string","title":"Atomic species"},"angle1":{"type":"number","title":"Angle1 (deg)"},"angle2":{"type":"number","title":"Angle2 (deg)"}}}},"isConstrainedMagnetization":{"type":"boolean","title":"Set constrained magnetization"},"constrainedMagnetization":{"type":"object","properties":{"constrainType":{"type":"string","title":"Constrain type","enum":["none","total","atomic","total direction","atomic direction"]},"lambda":{"type":"number","title":"lambda"}}},"isFixedMagnetization":{"type":"boolean","title":"Set Fixed magnetization (only applicable to constrained magnetization of 'total' type)"},"fixedMagnetization":{"type":"object","properties":{"x":{"type":"number","title":"X-component"},"y":{"type":"number","title":"Y-component"},"z":{"type":"number","title":"Z-component"}}}}},{"$id":"context-providers-directory/planewave-cutoffs-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Provider Schema","description":"Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.","type":"object","properties":{"wavefunction":{"type":"number"},"density":{"type":"number"}}},{"$id":"context-providers-directory/points-grid-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"shifts":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"reciprocalVectorRatios":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"gridMetricType":{"type":"string","enum":["KPPRA","spacing"]},"gridMetricValue":{"type":"number"},"preferGridMetric":{"type":"boolean"}}},{"$id":"context-providers-directory/points-path-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Provider Schema","description":"Path in reciprocal space for band structure calculations.","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"integer"}}}},{"$id":"core/abstract/2d-data","$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","required":["xDataArray","yDataSeries"],"properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"core/abstract/2d-plot","$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","required":["xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"core/abstract/3d-grid","$schema":"http://json-schema.org/draft-07/schema#","title":"3 dimensional grid schema","type":"object","required":["dimensions","shifts"],"properties":{"dimensions":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"shifts":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$id":"core/abstract/coordinate-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},{"$id":"core/abstract/coordinate-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},{"$id":"core/abstract/matrix-3x3","$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},{"$id":"core/abstract/vector-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},{"$id":"core/abstract/vector-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},{"$id":"core/abstract/vector-boolean-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]},{"$id":"core/primitive/1d-data-series","$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}},{"$id":"core/primitive/array-of-2-numbers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},{"$id":"core/primitive/array-of-3-booleans","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"boolean"}},{"$id":"core/primitive/array-of-3-integers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},{"$id":"core/primitive/array-of-3-numbers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},{"$id":"core/primitive/array-of-ids","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","required":["id"],"properties":{"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"core/primitive/array-of-strings","$schema":"http://json-schema.org/draft-07/schema#","title":"array of strings","description":"array of strings, e.g. metadata tags","type":"array","items":{"type":"string","uniqueItems":true}},{"$id":"core/primitive/axis","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},{"$id":"core/primitive/axis-3d-names-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},{"$id":"core/primitive/group-info","$schema":"http://json-schema.org/draft-07/schema#","title":"Group info schema for nodes in a graph","type":"object","properties":{"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}},{"$id":"core/primitive/integer-one-or-zero","$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},{"$id":"core/primitive/integer-positive-single-digit","$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9},{"$id":"core/primitive/linked-list/base-node","$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}},{"$id":"core/primitive/linked-list/named-node","$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId","name"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"},"name":{"description":"entity name","type":"string"}}},{"$id":"core/primitive/linked-list/named-node-in-group","$schema":"http://json-schema.org/draft-07/schema#","title":"Named node in group schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId","name"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"},"name":{"description":"entity name","type":"string"},"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}},{"$id":"core/primitive/linked-list/node-with-type","$schema":"http://json-schema.org/draft-07/schema#","title":"Typed node schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"type":{"type":"string"},"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}},{"$id":"core/primitive/linked-list","$schema":"http://json-schema.org/draft-07/schema#","title":"linked list schema","type":"array","items":{"type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId","name"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"},"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node in group schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId","name"],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"},"name":{"description":"entity name","type":"string"},"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Typed node schema","type":"object","definitions":{"flowchart-id":{"required":["flowchartId"],"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}},"required":["flowchartId"],"properties":{"type":{"type":"string"},"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"},"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}}}],"uniqueItems":true}},{"$id":"core/primitive/object-with-id","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","required":["id"],"properties":{"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"core/primitive/object-with-id-and-value","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"core/primitive/scalar","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","required":["value"],"properties":{"value":{"type":"number"}}},{"$id":"core/primitive/slugified-entry","$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","required":["name","slug"],"properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}}},{"$id":"core/primitive/slugified-entry-or-slug","$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},{"$id":"core/primitive/string","$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","required":["value"],"properties":{"value":{"type":"string"}}},{"$id":"core/reference/exabyte","$schema":"http://json-schema.org/draft-07/schema#","type":"object","required":["jobId","unitId"],"properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}}},{"$id":"core/reference/experiment/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","required":["name"],"properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}}},{"$id":"core/reference/experiment/location","$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","required":["latitude","longitude"],"properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}}},{"$id":"core/reference/experiment","$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","required":["conditions","authors","title","method","timestamp"],"properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","required":["name"],"properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}}}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","required":["latitude","longitude"],"properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}}},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}}}}},{"$id":"core/reference/literature/name","$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}},{"$id":"core/reference/literature/pages","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},{"$id":"core/reference/literature","$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},{"$id":"core/reference/modeling/exabyte","$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","required":["title","_id","owner"],"properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}}}},{"$id":"core/reference/modeling","$schema":"http://json-schema.org/draft-07/schema#","title":"info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}}},"required":["title","_id","owner"]}]},{"$id":"core/reference","$schema":"http://json-schema.org/draft-07/schema#","title":"reference schema (using `anyOf` instead of `oneOf` below b/c current reference schemas overlap)","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}}},"required":["title","_id","owner"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","required":["name"],"properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}}}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","required":["latitude","longitude"],"properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}}},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}}}},"required":["conditions","authors","title","method","timestamp"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}}]},{"$id":"core/reusable/atomic-data/per-orbital","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital","description":"Atomic properties per orbital e.g., Hubbard U parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"}}},{"$id":"core/reusable/atomic-data/per-orbital-pair","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$id":"core/reusable/atomic-data/value-number","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}},{"$id":"core/reusable/atomic-data/value-string","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data string properties","description":"String value specific to atomic data","type":"object","properties":{"value":{"type":"string","description":"String value specific to atomic data"}}},{"$id":"core/reusable/atomic-data-per-orbital-numeric","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}},{"$id":"core/reusable/atomic-data-per-orbital-pair-numeric","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}},{"$id":"core/reusable/atomic-orbital","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}},{"$id":"core/reusable/atomic-scalars","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic scalars vectors schema","type":"array","description":"array of objects containing integer id each","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","required":["id"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","required":["value"],"properties":{"value":{"type":"number"}}},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"core/reusable/atomic-string","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"string","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"core/reusable/atomic-vector","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"core/reusable/atomic-vectors","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"core/reusable/band-gap","$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","required":["type","value"],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"value":{"type":"number"}}},{"$id":"core/reusable/categories","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"core/reusable/category-path","$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},{"$id":"core/reusable/coordinate-conditions/base","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","required":["shape"],"properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}}},{"$id":"core/reusable/coordinate-conditions/box","$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$id":"core/reusable/coordinate-conditions/cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$id":"core/reusable/coordinate-conditions/enum","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},{"$id":"core/reusable/coordinate-conditions/index","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}]},{"$id":"core/reusable/coordinate-conditions/plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$id":"core/reusable/coordinate-conditions/sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$id":"core/reusable/coordinate-conditions/triangular-prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$id":"core/reusable/dielectric-tensor-component","$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","required":["part","frequencies","components"],"description":"Schema for a function of frequency yielding a nx3 matrix","properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"},"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}},{"$id":"core/reusable/energy","$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","required":["name","units","value"],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"core/reusable/energy-accuracy-levels","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}},{"$id":"core/reusable/file-metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}},{"$id":"core/reusable/frequency-function-matrix","$schema":"http://json-schema.org/draft-07/schema#","title":"","description":"Schema for a function of frequency yielding a nx3 matrix","type":"object","properties":{"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}},{"$id":"core/reusable/kpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},{"$id":"core/reusable/object-storage-container-data","$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},{"$id":"core/reusable/scalar-with-accuracy-levels","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","required":["accuracy_level","value"],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}},{"$id":"definitions/chemical-elements","title":"Chemical Element Symbols","periodic_table":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},"extra":{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]},"all":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}},{"$id":"definitions/constants","title":"fundamental constants","description":"Fundamental physical constants, 2022 NIST CODATA (https://doi.org/10.48550/arXiv.2409.03787)","type":"object","required":["c","h","e","G","me","eps0","mu0"],"properties":{"c":{"description":"speed of light in vacuum, \"units\": \"m/s\"","type":"number","default":299792458},"h":{"description":"Planck constant, \"units\": \"J s\"","type":"number","default":6.62607015e-34},"e":{"description":"elementary charge, \"units\": \"C\"","type":"number","default":1.602176634e-19},"G":{"description":"Newtonian constant of gravitation, \"units\": \"m^3/kg/s^2\"","type":"number","default":6.6743015e-11},"me":{"description":"electron mass \"units\": \"kg\"","type":"number","default":9.109383713928e-31},"eps0":{"description":"vacuum permittivity, \"units\": \"F/m\"","type":"number","default":8.854187818814e-12},"mu0":{"description":"vacuum permeability, \"units\": \"N/A^2\"","type":"number","default":0.000001256637061272}}},{"$id":"definitions/material","title":"Materials Definitions","form_factor":{"description":"Form factor of the material","enum":["bulk","slab","monolayer","nanoribbon"]},"dimensionality":{"description":"Dimensionality of the material","enum":["zero-dimensional","one-dimensional","two-dimensional","three-dimensional"]}},{"$id":"definitions/units","title":"all units definitions","angle":{"enum":["degree","radian"],"default":"degree"},"coordinates_basis":{"enum":["crystal","cartesian"],"default":"crystal"},"coordinates_lattice_reciprocal":{"enum":["crystal","cartesian"],"default":"crystal"},"length":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"length_atomic":{"enum":["angstrom","bohr"],"default":"angstrom"},"energy":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"energy_atomic":{"enum":["eV","hartree","rydberg"],"default":"eV"},"surface_energy":{"enum":["eV/A^2"]},"force":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]},"volume":{"enum":["cm^3","angstrom^3"]},"numberDensity":{"enum":["1/angstrom^3"]},"density":{"enum":["g/cm^3"]},"frequency":{"enum":["cm-1","THz","meV"]},"pressure":{"enum":["kbar","pa"]},"phononDOS":{"enum":["states/cm-1","states/THz","states/meV"]},"electronicDOS":{"enum":["states/unitcell"]},"magnetic":{"enum":["uB"]},"chargeDensity":{"enum":["e/A"]},"spectralIntensity":{"enum":["(debye/angstrom)^2","km/mol","m/mol","a.u."]}},{"$id":"element","$schema":"http://json-schema.org/draft-07/schema#","title":"element schema","type":"object","properties":{"symbol":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},"properties":{"type":"array","description":"list of elemental properties","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic radius","description":"atomic radius","type":"object","required":["name","value"],"properties":{"name":{"enum":["atomic_radius"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"electronegativity","description":"electronegativity for the element (Pauling scale)","type":"object","required":["name","value"],"properties":{"name":{"enum":["electronegativity"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential elemental property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["ionization_potential"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"value":{"type":"number"}}}]}}}},{"$id":"in-memory-entity/base","$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"in-memory-entity/defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"Defaultable in-memory entity schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"in-memory-entity/has-consistency-check-has-metadata-named-defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"has consistency check has metadata named defaultable in-memory entity schema","type":"object","required":["name"],"description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}}}},{"$id":"in-memory-entity/named","$schema":"http://json-schema.org/draft-07/schema#","title":"Named in-memory entity schema","type":"object","required":["name"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"}}},{"$id":"in-memory-entity/named-defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","type":"object","required":["name"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"in-memory-entity/named-defaultable-has-metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","type":"object","required":["name"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"job/base","$schema":"http://json-schema.org/draft-07/schema#","title":"job base schema","type":"object","required":["_project","compute","name","status"],"properties":{"rmsId":{"description":"Identity used to track jobs originated from command-line","type":"string"},"status":{"description":"job status","enum":["pre-submission","queued","submitted","active","finished","terminate-queued","terminated","error","deleted","timeout"]},"startTime":{"description":"Approximate start time of the job. e.g. within 10 min","type":"string"},"workDir":{"description":"The path to the working directory of this job, when the job originates from command-line","type":"string"},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}},"_project":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"_material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"parent":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"runtimeContext":{"description":"Context variables that the job will have access to at runtime","type":"object"},"scopeTrack":{"description":"history of the workflow scope on each update","type":"array","items":{"type":"object","properties":{"repetition":{"type":"number"},"scope":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","required":["global","local"],"properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"job/compute","$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}},{"$id":"job","$schema":"http://json-schema.org/draft-07/schema#","title":"job schema","type":"object","required":["_project","compute","name","status","workflow"],"properties":{"workflow":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","required":["name","subworkflows","units"],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","required":["application","model","name","units"],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false},"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","type","workflowId"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["map"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["subworkflow"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},"rmsId":{"description":"Identity used to track jobs originated from command-line","type":"string"},"status":{"description":"job status","enum":["pre-submission","queued","submitted","active","finished","terminate-queued","terminated","error","deleted","timeout"]},"startTime":{"description":"Approximate start time of the job. e.g. within 10 min","type":"string"},"workDir":{"description":"The path to the working directory of this job, when the job originates from command-line","type":"string"},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}},"_project":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"_material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"parent":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"runtimeContext":{"description":"Context variables that the job will have access to at runtime","type":"object"},"scopeTrack":{"description":"history of the workflow scope on each update","type":"array","items":{"type":"object","properties":{"repetition":{"type":"number"},"scope":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","required":["global","local"],"properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"material/consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}},{"$id":"material/conventional","$schema":"http://json-schema.org/draft-07/schema#","title":"material conventional schema","type":"object","properties":{"conventional":{"type":"object"}}},{"$id":"material","$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"materials-category/compound-pristine-structures/two-dimensional/interface/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Interface Configuration Schema","description":"A two-dimensional interface between two slabs, optionally including vacuum, with a specified stacking direction.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":3,"description":"Components of the interface: slab, slab and vacuum","items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"xy_shift":{"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane.","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/one-dimensional/grain-boundary-linear/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Grain Boundary Linear Configuration Schema","description":"Configuration for creating a linear grain boundary.","required":["stack_components","direction"],"type":"object","properties":{"stack_components":{"maxItems":2,"type":"array","minItems":2,"description":"Components of the interface: slab, slab and vacuum","items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"x","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"actual_angle":{"type":"number","description":"The actual angle between the two phases","minimum":0,"maximum":360},"xy_shift":{"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane.","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/two-dimensional/adatom/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Adatom Defect Configuration Schema","description":"An adatom point defect configuration where an atom is added to a surface site on a slab.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","required":["coordinate","crystal","element"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}},"required":["chemical_element"]}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/two-dimensional/grain-boundary-planar/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Grain Boundary Planar Configuration Schema","description":"Configuration for creating a grain boundary between two phases.","type":"object","required":["stack_components","direction"],"properties":{"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"stack_components":{"type":"array","minItems":2,"maxItems":3,"description":"Components of the interface: slab, slab and vacuum","items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"xy_shift":{"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane.","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/two-dimensional/island/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Island Defect Configuration Schema","description":"An island defect configuration where a void region is created in a slab, leaving an island of material.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","required":["merge_components","merge_method"],"type":"object","properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","required":["crystal","coordinate_condition"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}]}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/two-dimensional/terrace/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Terrace Defect Configuration Schema","description":"An terrace defect configuration where a void region is created in a slab that is stacked with another slab, creating a terrace.","required":["cut_direction","direction","stack_components"],"type":"object","properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","required":["merge_components","merge_method"],"type":"object","properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","required":["crystal","coordinate_condition"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}]}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"cut_direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/base-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Base Configuration Schema","description":"Base configuration for a point defect in a host crystal using merge operation.","required":["merge_components","merge_method"],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/interstitial","$schema":"http://json-schema.org/draft-07/schema#","title":"Interstitial Point Defect Schema","description":"An interstitial point defect configuration where an atom is added to an interstitial site.","required":["merge_components","merge_method"],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","required":["coordinate","crystal","element"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}},"required":["chemical_element"]}]}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/substitutional","$schema":"http://json-schema.org/draft-07/schema#","title":"Substitutional Point Defect Schema","description":"A substitutional point defect configuration where an atom at a crystal site is replaced with a different element.","required":["merge_components","merge_method"],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","required":["coordinate","crystal","element"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}},"required":["chemical_element"]}]}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/vacancy","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Point Defect Schema","description":"A vacancy point defect configuration where an atom is removed from a crystal site.","required":["merge_components","merge_method"],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","required":["chemical_element"],"properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}}}]},"merge_method":{"default":"REPLACE","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$id":"materials-category/pristine-structures/three-dimensional/ideal-crystal","$schema":"http://json-schema.org/draft-07/schema#","title":"Ideal Crystal Schema","description":"An ideal, perfect crystal structure","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"materials-category/pristine-structures/two-dimensional/nanoribbon","$schema":"http://json-schema.org/draft-07/schema#","title":"Nanoribbon Configuration Schema","description":"A nanoribbon unit cell consisting of nanotape and vacuum stacked in X direction.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"NanoTape Configuration Schema","description":"A nanotape unit cell consisting of crystal lattice lines and vacuum stacked in Y direction.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","required":["crystal","miller_indices_2d","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"},"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"y","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"x","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/pristine-structures/two-dimensional/nanotape","$schema":"http://json-schema.org/draft-07/schema#","title":"NanoTape Configuration Schema","description":"A nanotape unit cell consisting of crystal lattice lines and vacuum stacked in Y direction.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","required":["crystal","miller_indices_2d","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"},"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"y","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/pristine-structures/two-dimensional/slab","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/pristine-structures/two-dimensional/slab-strained-supercell","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","required":["direction","stack_components","strain_matrix","xy_supercell_matrix"],"type":"object","properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category/processed-structures/two-dimensional/passivation/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Passivation Configuration Schema","description":"Configuration for a passivation that adds passivating atoms to a material surface.","required":["bond_length","merge_components","merge_method","passivant"],"properties":{"merge_components":{"type":"array","minItems":2,"items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","required":["coordinate","crystal","element"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}},"required":["chemical_element"]}]}}}]}},"merge_method":{"default":"ADD","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]},"passivant":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","required":["chemical_element"],"properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}}},"bond_length":{"type":"number","default":1,"description":"The bond length for the passivating atoms"}}},{"$id":"materials-category-components/entities/auxiliary/one-dimensional/miller-indices-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},{"$id":"materials-category-components/entities/auxiliary/three-dimensional/supercell-matrix-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 3D Schema","description":"3x3 matrix of integers for transforming a unit cell into a supercell","type":"array","minItems":3,"maxItems":3,"default":[[1,0,0],[0,1,0],[0,0,1]],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}}},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/miller-indices","$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/supercell-matrix-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","minItems":2,"maxItems":2,"default":[[1,0],[0,1]],"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/termination","$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/crystal-site","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","required":["crystal","coordinate"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/point-defect-site","$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","required":["coordinate","crystal","element"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}},"required":["chemical_element"]}]}}},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/void-region","$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","required":["crystal","coordinate_condition"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}]}}},{"$id":"materials-category-components/entities/core/three-dimensional/crystal","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"materials-category-components/entities/core/three-dimensional/void","$schema":"http://json-schema.org/draft-07/schema#","title":"Void Schema","description":"A void that can be placed into a crystal, removing all atoms inside","type":"object","required":["center_coordinate","shape"],"properties":{"center_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","required":["max_coordinate","min_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"box","default":"box","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","required":["radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"sphere","default":"sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","required":["max_z","min_z","radius","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"cylinder","default":"cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","required":["max_z","min_z","position_on_surface_1","position_on_surface_2","position_on_surface_3","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"triangular_prism","default":"triangular_prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"min_z":{"type":"number"},"max_z":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","required":["plane_normal","plane_point_coordinate","shape"],"description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"const":"plane","default":"plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}]}}},{"$id":"materials-category-components/entities/core/two-dimensional/vacuum","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}},{"$id":"materials-category-components/entities/core/zero-dimensional/atom","$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","required":["chemical_element"],"properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}}},{"$id":"materials-category-components/entities/core/zero-dimensional/vacancy","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","required":["chemical_element"],"properties":{"chemical_element":{"default":"Vac","description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}}},{"$id":"materials-category-components/entities/reusable/one-dimensional/crystal-lattice-lines","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Schema","description":"A set of crystal lattice lines defined by 2D Miller indices","type":"object","required":["crystal","miller_indices_2d"],"properties":{"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/one-dimensional/crystal-lattice-lines-unique-repeated","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","required":["crystal","miller_indices_2d","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"},"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/three-dimensional/crystal-lattice-base","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","required":["crystal"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/three-dimensional/repetitions","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Repetitions Schema","description":"Number of unit cells to repeat in each direction for a crystal structure.","type":"array","minItems":3,"maxItems":3,"default":[1,1,1],"items":{"type":"integer","minimum":1}},{"$id":"materials-category-components/entities/reusable/three-dimensional/strained-non-uniform","$schema":"http://json-schema.org/draft-07/schema#","title":"Non-Uniformly Strained Crystal Configuration Schema","description":"A crystal structure with non-uniform strain applied using a strain matrix","type":"object","required":["crystal","strain_matrix"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}},{"$id":"materials-category-components/entities/reusable/three-dimensional/strained-uniform","$schema":"http://json-schema.org/draft-07/schema#","title":"Uniformly Strained Crystal Configuration Schema","description":"A crystal structure with uniform strain applied","type":"object","required":["crystal","strain_percentage"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"strain_percentage":{"type":"number","description":"Percentage of uniform strain to apply to the crystal structure"}}},{"$id":"materials-category-components/entities/reusable/three-dimensional/supercell","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Configuration Schema","description":"A repeated crystal structure defined by a transformation matrix","type":"object","required":["crystal","matrix"],"properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Schema","description":"A set of atomic layers defined by a plane in a crystal structure with specific terminations","type":"object","required":["crystal","miller_indices","terminations"],"properties":{"terminations":{"type":"array","minItems":1,"description":"All possible terminations for this orientation.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}}},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers-unique","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Schema","description":"A set of unique atomic layers defined by a plane in a crystal structure, including all possible terminations","type":"object","required":["crystal","miller_indices","terminations"],"properties":{"terminations":{"type":"array","minItems":1,"description":"All possible terminations for this orientation.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}}},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers-unique-repeated","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/two-dimensional/crystal-lattice-planes","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","required":["crystal","miller_indices"],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$id":"materials-category-components/entities/reusable/two-dimensional/slab-stack-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Stack Configuration Schema","description":"Base configuration for a slab stack with another component and vacuum in the z-direction.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","required":["crystal","miller_indices","number_of_repetitions","termination_top"],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"},"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","default":[0,0,1],"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"type":"object"},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","required":["direction","size","crystal"],"properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}}}]},"direction":{"default":"z","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category-components/operations/core/combinations/enums","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]},{"$id":"materials-category-components/operations/core/combinations/merge","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","required":["merge_components","merge_method"],"properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}}},{"$id":"materials-category-components/operations/core/combinations/stack","$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","required":["stack_components","direction"],"properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"type":"number","description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"materials-category-components/operations/core/modifications/perturb","$schema":"http://json-schema.org/draft-07/schema#","title":"Perturbation Schema","description":"A perturbation operation that modifies a configuration by applying a perturbation to atoms coordinates.","type":"object","properties":{"material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","required":["basis","lattice","name"],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","origin","source"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."},"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","required":["type","offset"],"properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},"perturbation_function":{"type":"string","description":"A function that defines the perturbation (delta in coordinates) to be applied to the atomic coordinates."}}},{"$id":"materials-category-components/operations/core/modifications/repeat","$schema":"http://json-schema.org/draft-07/schema#","title":"Repeat Schema","properties":{"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 3D Schema","description":"3x3 matrix of integers for transforming a unit cell into a supercell","type":"array","minItems":3,"maxItems":3,"default":[[1,0,0],[0,1,0],[0,0,1]],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"integer"}}}}},{"$id":"materials-category-components/operations/core/modifications/strain","$schema":"http://json-schema.org/draft-07/schema#","title":"Strain Schema","properties":{"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}},{"$id":"method/categorized-method","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized method","type":"object","required":["name","units"],"properties":{"units":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","required":["name"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"method/method-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"MethodParameters","oneOf":[{"type":"object","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}},{"type":"object","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}},{"type":"object","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}}]},{"$id":"method/unit-method","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","required":["name"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"method","$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}},{"$id":"methods-category/mathematical/diff/enum-options","finiteDifference":{"enum":["fd"]}},{"$id":"methods-category/mathematical/diff/fd","$schema":"http://json-schema.org/draft-07/schema#","title":"Finite difference method category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["fd"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/diff","$schema":"http://json-schema.org/draft-07/schema#","title":"Numerical differentiation category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr/enum-options","meshing":{"enum":["mesh"]}},{"$id":"methods-category/mathematical/discr/mesh/enum-options","hybridMesh":{"enum":["hybrid"]},"unstructuredMesh":{"enum":["nstruct"]},"structuredMesh":{"enum":["struct"]}},{"$id":"methods-category/mathematical/discr/mesh/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid meshing category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["hybrid"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["mesh"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr/mesh/nstruct","$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category nstruct schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["nstruct"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["mesh"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr/mesh/struct/cartesian","$schema":"http://json-schema.org/draft-07/schema#","title":"Cartesian grid schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["cartesian"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["struct"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["mesh"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr/mesh/struct/enum-options","cartesian":{"enum":["cartesian"]}},{"$id":"methods-category/mathematical/discr/mesh/struct","$schema":"http://json-schema.org/draft-07/schema#","title":"Structured meshing category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["struct"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["mesh"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr/mesh","$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["mesh"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/discr","$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["discr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/enum-options","differentiation":{"enum":["diff"]},"discretization":{"enum":["discr"]},"functionApproximation":{"enum":["fapprx"]},"integration":{"enum":["intgr"]},"linearAlgebra":{"enum":["linalg"]},"optimization":{"enum":["opt"]},"regressionTypes":{"enum":["linear","kernel_ridge"]},"regressionSubtypes":{"enum":["least_squares","ridge"]}},{"$id":"methods-category/mathematical/fapprx/basisexp","$schema":"http://json-schema.org/draft-07/schema#","title":"Basis expansion category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["basisExp"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/fapprx/enum-options","basisExpansion":{"enum":["basisExp"]},"interpolation":{"enum":["ipol"]}},{"$id":"methods-category/mathematical/fapprx/ipol/enum-options","linear":{"enum":["lin"]},"polynomial":{"enum":["poly"]},"spline":{"enum":["spline"]}},{"$id":"methods-category/mathematical/fapprx/ipol/lin","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear interpolation category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["lin"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ipol"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/fapprx/ipol/poly","$schema":"http://json-schema.org/draft-07/schema#","title":"Polynomial interpolation category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["poly"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ipol"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/fapprx/ipol/spline","$schema":"http://json-schema.org/draft-07/schema#","title":"Spline interpolation category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["spline"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ipol"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/fapprx/ipol","$schema":"http://json-schema.org/draft-07/schema#","title":"Interpolation category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["ipol"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/fapprx","$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["fapprx"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/analytic/enum-options","volume":{"enum":["volume"]},"volumeSubtypes":{"enum":["sphere","cube","rect-prism","tri-prism","cylinder","cone","tetrahedron","sq-pyr"]}},{"$id":"methods-category/mathematical/intgr/analytic/volume","$schema":"http://json-schema.org/draft-07/schema#","title":"Analytic volume integral category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["volume"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["sphere","cube","rect-prism","tri-prism","cylinder","cone","tetrahedron","sq-pyr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["analytic"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/analytic","$schema":"http://json-schema.org/draft-07/schema#","title":"Analytic integral category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["analytic"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/diffeq/enum-options","firstOrder":{"enum":["order1"]},"secondOrder":{"enum":["order2"]}},{"$id":"methods-category/mathematical/intgr/diffeq/order1","$schema":"http://json-schema.org/draft-07/schema#","description":"Categories for the numerical integration of differential equations","type":"object","title":"Order1 schema","properties":{"tier3":{"enum":["order1"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diffeq"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/diffeq/order2","$schema":"http://json-schema.org/draft-07/schema#","description":"Categories for the numerical integration of differential equations","type":"object","title":"Order2 schema","properties":{"tier3":{"enum":["order2"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diffeq"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/diffeq","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical integration of differential equations schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["diffeq"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/enum-options","analytic":{"enum":["analytic"]},"differentialEquation":{"enum":["diffeq"]},"numericalQuadrature":{"enum":["numquad"]},"transformation":{"enum":["transf"]}},{"$id":"methods-category/mathematical/intgr/numquad/enum-options","gaussQuadrature":{"enum":["gauss"]},"newtonCotes":{"enum":["newcot"]}},{"$id":"methods-category/mathematical/intgr/numquad/gauss","$schema":"http://json-schema.org/draft-07/schema#","title":"Gaussian quadrature rules schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["gauss"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["numquad"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/numquad/newcot","$schema":"http://json-schema.org/draft-07/schema#","title":"Newton-Cotes quadrature rules schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["newcot"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["numquad"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/numquad","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical quadrature schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["numquad"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/transf/enum-options","fourierTransformation":{"enum":["fourier"]}},{"$id":"methods-category/mathematical/intgr/transf/fourier","$schema":"http://json-schema.org/draft-07/schema#","description":"Fourier transform methods","title":"Fourier transform methods schema","type":"object","properties":{"type":{"enum":["fourier"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["transf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr/transf","$schema":"http://json-schema.org/draft-07/schema#","description":"Integral transform methods","title":"Integral transform methods schema","type":"object","properties":{"tier2":{"enum":["transf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/intgr","$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["intgr"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg/dcomp","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix decomposition methods schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["dcomp"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg/diag/davidson","$schema":"http://json-schema.org/draft-07/schema#","title":"Davidson diagonalization method schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["davidson"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diag"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg/diag/enum-options","davidson":{"enum":["davidson"]}},{"$id":"methods-category/mathematical/linalg/diag","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix diagonalization methods schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["diag"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg/enum-options","decomposition":{"enum":["dcomp"]},"diagonalization":{"enum":["diag"]},"linearTransformation":{"enum":["lintra"]},"matrixFunction":{"enum":["matf"]}},{"$id":"methods-category/mathematical/linalg/lintra","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear transformation methods schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["lintra"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg/matf","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix function methods schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["matf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/linalg","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/bracket","$schema":"http://json-schema.org/draft-07/schema#","title":"Bracket algorithms for the optimization of differentiable functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["bracket"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/enum-options","bracketing":{"enum":["bracket"]},"localDescent":{"enum":["local"]},"firstOrder":{"enum":["order1"]},"secondOrder":{"enum":["order2"]},"nOrder":{"enum":["ordern"]}},{"$id":"methods-category/mathematical/opt/diff/local","$schema":"http://json-schema.org/draft-07/schema#","title":"Local descent methods for the optimization of differentiable functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["local"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/order1","$schema":"http://json-schema.org/draft-07/schema#","title":"First order algorithms for the optimization of differentiable functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["order1"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/order2","$schema":"http://json-schema.org/draft-07/schema#","title":"Second order algorithms for the optimization of differentiable functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["order2"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/ordern/cg","$schema":"http://json-schema.org/draft-07/schema#","title":"Conjugate gradient method schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["cg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["ordern"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff/ordern/enum-options","conjugateGradient":{"enum":["cg"]}},{"$id":"methods-category/mathematical/opt/diff/ordern","$schema":"http://json-schema.org/draft-07/schema#","title":"Mixed order and higher order algorithms for the optimization of differentiable functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["ordern"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/diff","$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/enum-options","differentiable":{"enum":["diff"]},"nonDifferentiable":{"enum":["ndiff"]},"rootFinding":{"enum":["root"]}},{"$id":"methods-category/mathematical/opt/ndiff/direct","$schema":"http://json-schema.org/draft-07/schema#","title":"Direct algorithms for the optimization of non-differentiable functions category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["direct"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ndiff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/ndiff/enum-options","direct":{"enum":["direct"]},"population":{"enum":["pop"]},"stochastic":{"enum":["stoch"]}},{"$id":"methods-category/mathematical/opt/ndiff/pop","$schema":"http://json-schema.org/draft-07/schema#","title":"Population algorithms for the optmization of non-differentiable functions category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["pop"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ndiff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/ndiff/stoch","$schema":"http://json-schema.org/draft-07/schema#","title":"Stochastic algorithms for the optmization of non-differentiable functions category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["stoch"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["ndiff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/ndiff","$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for non-differentiable functions category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["ndiff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/root/bracket","$schema":"http://json-schema.org/draft-07/schema#","title":"Bracketing method for finding roots category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["bracket"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["root"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/root/enum-options","iterative":{"enum":["iterative"]},"bracketing":{"enum":["bracket"]}},{"$id":"methods-category/mathematical/opt/root/iter","$schema":"http://json-schema.org/draft-07/schema#","title":"Iterative method for root finding category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["iterative"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["root"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt/root","$schema":"http://json-schema.org/draft-07/schema#","title":"Root finding category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["root"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/opt","$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/mathematical/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"linear methods category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["linear","kernel_ridge"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["least_squares","ridge"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/enum-options","quantumMechanical":{"enum":["qm"]}},{"$id":"methods-category/physical/qm/enum-options","wavefunction":{"enum":["wf"]}},{"$id":"methods-category/physical/qm/wf/ao/dunning","$schema":"http://json-schema.org/draft-07/schema#","title":"Dunning correlation-consistent basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["dunning"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/ao/other","$schema":"http://json-schema.org/draft-07/schema#","title":"Other (neither Pople nor Dunning) basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["other"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/ao/pople","$schema":"http://json-schema.org/draft-07/schema#","title":"Pople basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["pople"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/ao","$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["pople","dunning","other"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/enum-options","planewave":{"enum":["pw"]},"atomicOrbital":{"enum":["ao"]},"wavelet":{"enum":["wvl"]},"smearing":{"enum":["smearing"]},"tetrahedron":{"enum":["tetrahedron"]},"pseudization":{"enum":["psp"]},"pseudoSubtypes":{"enum":["us","nc","nc-fr","paw","coulomb"]},"smearingSubtypes":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"]},"tetrahedronSubtypes":{"enum":["linear","optimized","bloechl"]},"aoTypes":{"enum":["pople","dunning","other"]}},{"$id":"methods-category/physical/qm/wf/psp","$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["psp"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["us","nc","nc-fr","paw","coulomb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/pw","$schema":"http://json-schema.org/draft-07/schema#","title":"Plane wave catgeory schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["pw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/smearing","$schema":"http://json-schema.org/draft-07/schema#","title":"Smearing methods category schema","description":"Approximating Heaviside step function with smooth function","type":"object","properties":{"type":{"enum":["smearing"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf/tetrahedron","$schema":"http://json-schema.org/draft-07/schema#","title":"Tetrahedron method for Brillouin zone integration category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["tetrahedron"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["linear","optimized","bloechl"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm/wf","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-category/physical/qm","$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"methods-directory/legacy/localorbital","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method localorbital","type":"object","required":["type","subtype"],"properties":{"type":{"const":"localorbital","description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"const":"pople","description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}},{"$id":"methods-directory/legacy/pseudopotential","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method pseudopotential","type":"object","required":["type","subtype"],"properties":{"type":{"const":"pseudopotential","description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"enum":["paw","nc","us","any"],"default":"us","description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}},{"$id":"methods-directory/legacy/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method regression","type":"object","required":["data","precision","subtype","type"],"properties":{"type":{"enum":["linear","kernel_ridge"],"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"enum":["least_squares","ridge"],"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","description":"Object showing the actual possible precision based on theory and implementation","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","required":["trainingError"],"properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}}}}}},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","description":"additional data specific to method, eg. array of pseudopotentials","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","required":["exabyteIds"],"properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}}}}}}},{"$id":"methods-directory/legacy/unknown","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method unknown","type":"object","required":["type","subtype"],"properties":{"type":{"const":"unknown","description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"const":"unknown","description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}},{"$id":"methods-directory/mathematical/cg","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit method conjugate gradient","description":"conjugate gradient method schema","type":"object","required":["categories","name"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Conjugate gradient method schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["cg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["ordern"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diff"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["opt"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/mathematical/davidson","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit method davidson schema","description":"Davidson diagonalization method","type":"object","required":["categories","name"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Davidson diagonalization method schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["davidson"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["diag"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["linalg"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/mathematical/regression/data","$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","required":["exabyteIds"],"properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}}}}},{"$id":"methods-directory/mathematical/regression/dataset","$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","required":["exabyteIds"],"properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}}},{"$id":"methods-directory/mathematical/regression/kernel-ridge/data-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","required":["xFit","dualCoefficients","perFeature"],"properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}}},{"$id":"methods-directory/mathematical/regression/linear/data-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","required":["intercept","perFeature"],"properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}}},{"$id":"methods-directory/mathematical/regression/per-feature-item","$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}},{"$id":"methods-directory/mathematical/regression/precision","$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","required":["trainingError"],"properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}}}}}},{"$id":"methods-directory/mathematical/regression/precision-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","required":["trainingError"],"properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}}},{"$id":"methods-directory/mathematical/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method regression","type":"object","required":["categories","data","name","precision"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear methods category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["linear","kernel_ridge"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["least_squares","ridge"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"precision":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","description":"Object showing the actual possible precision based on theory and implementation","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","required":["trainingError"],"properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}}}}}},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","required":["name"],"properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}}}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","required":["exabyteIds"],"properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}}}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/ao/dunning","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao dunning","description":"Dunning correlation-consistent basis set unit method","type":"object","required":["categories","name"],"definitions":{"ao-basis-dunning":{"type":"object","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}}},"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dunning correlation-consistent basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["dunning"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Instructive parameters defining the method","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/ao/enum-options","popleAoBasis":{"enum":["3-21G","6-31G","6-311G"]},"dunningAoBasis":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]},"otherAoBasis":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}},{"$id":"methods-directory/physical/ao/other","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao other","description":"Other (neither Pople nor Dunning) basis set unit method","type":"object","required":["categories","name"],"definitions":{"ao-basis-other":{"type":"object","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}}},"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Other (neither Pople nor Dunning) basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["other"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Instructive parameters defining the method","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/ao/pople","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao pople","description":"Pople basis set unit method","type":"object","required":["categories","name"],"definitions":{"ao-basis-pople":{"type":"object","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}}},"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pople basis set category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["pople"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ao"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Instructive parameters defining the method","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/psp/file","$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential file","type":"object","properties":{"slug":{"enum":["pseudopotential"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","required":["element","type","exchangeCorrelation","source","path","apps","name","hash"],"properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}}}}}},"source":{"type":"object","description":"TODO: remove in the future","properties":{"info":{"type":"object"},"type":{"type":"string"}}}}},{"$id":"methods-directory/physical/psp/file-data-item","$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","required":["element","type","exchangeCorrelation","source","path","apps","name","hash"],"properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}}}}}},{"$id":"methods-directory/physical/psp","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method pseudopotential","description":"Core-valence separation by means of pseudopotentials (effective potential)","type":"object","required":["categories","name"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["psp"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["us","nc","nc-fr","paw","coulomb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"data":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential file","type":"object","properties":{"slug":{"enum":["pseudopotential"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","required":["element","type","exchangeCorrelation","source","path","apps","name","hash"],"properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}}}}}},"source":{"type":"object","description":"TODO: remove in the future","properties":{"info":{"type":"object"},"type":{"type":"string"}}}}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/pw","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method plane wave","description":"Approximating the electronic wave function with a plane wave basis","type":"object","required":["categories","name"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane wave catgeory schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["pw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/smearing","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method smearing","description":"Approximating Heaviside step function with smooth function","type":"object","required":["categories","name"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Smearing methods category schema","description":"Approximating Heaviside step function with smooth function","type":"object","properties":{"type":{"enum":["smearing"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"methods-directory/physical/tetrahedron","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method tetrahedron","type":"object","required":["categories","name"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Tetrahedron method for Brillouin zone integration category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["tetrahedron"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["linear","optimized","bloechl"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["wf"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"model/categorized-model","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized model","type":"object","required":["categories","method","name","parameters"],"properties":{"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized method","type":"object","required":["name","units"],"properties":{"units":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","required":["name"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"model/mixins/dft/double-hybrid-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","properties":{"functional":{"enum":["b2plyp"]}}},{"$id":"model/mixins/dft/enum-options","lda":{"enum":["pz"]},"gga":{"enum":["pbe","pbesol"]},"mgga":{"enum":["scan"]},"hybrid":{"enum":["hse06","b3lyp"]},"doubleHybrid":{"enum":["b2plyp"]}},{"$id":"model/mixins/dft/gga-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","additionalProperties":true,"properties":{"functional":{"enum":["pbe","pbesol"]}}},{"$id":"model/mixins/dft/hybrid-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","properties":{"functional":{"enum":["hse06","b3lyp"]}}},{"$id":"model/mixins/dft/lda-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","additionalProperties":true,"properties":{"functional":{"enum":["pz"]}}},{"$id":"model/mixins/dft/mgga-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","additionalProperties":true,"properties":{"functional":{"enum":["scan"]}}},{"$id":"model/mixins/dispersion-correction","$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$id":"model/mixins/enum-options","spinPolarization":{"enum":["collinear","non-collinear"]},"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]},"hubbardType":{"enum":["u"]}},{"$id":"model/mixins/hubbard","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}},{"$id":"model/mixins/spin-orbit-coupling","$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","additionalProperties":true,"properties":{"spinOrbitCoupling":{"type":"boolean"}}},{"$id":"model/mixins/spin-polarization","$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","additionalProperties":true,"properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}}},{"$id":"model/model-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"ModelParameters","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","properties":{"functional":{"enum":["hse06","b3lyp"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","properties":{"functional":{"enum":["b2plyp"]}}}],"additionalProperties":true,"properties":{"hubbardType":{"enum":["u"]},"spinPolarization":{"enum":["collinear","non-collinear"]},"spinOrbitCoupling":{"type":"boolean"},"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$id":"model/model-without-method","$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","required":["categories","name","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"model","$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},{"$id":"models-category/enum-options","physicsBased":{"enum":["pb"]},"statistical":{"enum":["st"]}},{"$id":"models-category/pb/enum-options","quantumMechanical":{"enum":["qm"]}},{"$id":"models-category/pb/qm/abin/enum-options","gwApproximation":{"enum":["gw"]},"gwSubtypes":{"enum":["g0w0","evgw0","evgw"]}},{"$id":"models-category/pb/qm/abin/gw","$schema":"http://json-schema.org/draft-07/schema#","title":"GW category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["gw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["g0w0","evgw0","evgw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["abin"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/abin","$schema":"http://json-schema.org/draft-07/schema#","title":"Ab initio category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["abin"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/enum-options","kohnSham":{"enum":["ksdft"]}},{"$id":"models-category/pb/qm/dft/ksdft/double-hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT double hybrid functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["double-hybrid"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/ksdft/enum-options","localDensityApproximation":{"enum":["lda"]},"generalizedGradientApproximation":{"enum":["gga"]},"metaGGA":{"enum":["mgga"]},"hybrid":{"enum":["hybrid"]},"doubleHybrid":{"enum":["double-hybrid"]}},{"$id":"models-category/pb/qm/dft/ksdft/gga","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["gga"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/ksdft/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["hybrid"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/ksdft/lda","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["lda"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/ksdft/mgga","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT meta-GGA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["mgga"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft/ksdft","$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/dft","$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm/enum-options","abInitio":{"enum":["abin"]},"densityFunctional":{"enum":["dft"]},"semiEmpirical":{"enum":["semp"]}},{"$id":"models-category/pb/qm/semp","$schema":"http://json-schema.org/draft-07/schema#","title":"Semi-empirical category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["semp"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb/qm","$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/pb","$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/st/det/enum-options","machineLearning":{"enum":["ml"]}},{"$id":"models-category/st/det/ml/enum-options","regression":{"enum":["re"]}},{"$id":"models-category/st/det/ml/re","$schema":"http://json-schema.org/draft-07/schema#","title":"regression model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["re"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["ml"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["det"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["st"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/st/det/ml","$schema":"http://json-schema.org/draft-07/schema#","title":"machine learning model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier3":{"enum":["ml"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["det"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["st"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/st/det","$schema":"http://json-schema.org/draft-07/schema#","title":"deterministic model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier2":{"enum":["det"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["st"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-category/st/enum-options","deterministic":{"enum":["det"]}},{"$id":"models-category/st","$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"tier1":{"enum":["st"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"models-directory/double-hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"model double hybrid functional","type":"object","required":["categories","name","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT double hybrid functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["double-hybrid"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true}],"description":"Model parameters defined in-place or via model mixins","properties":{"functional":{"enum":["b2plyp"]}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/gga","$schema":"http://json-schema.org/draft-07/schema#","title":"model generalized gradient approximation","type":"object","required":["categories","name","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["gga"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}],"description":"Model parameters defined in-place or via model mixins","additionalProperties":true,"properties":{"functional":{"enum":["pbe","pbesol"]}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/gw","$schema":"http://json-schema.org/draft-07/schema#","title":"model gw approximation","type":"object","required":["categories","name","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"GW category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["gw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"enum":["g0w0","evgw0","evgw"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["abin"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true}],"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true}],"description":"Model parameters defined in-place or via model mixins","properties":{"require":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"model hybrid functional","type":"object","required":["categories","name","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["hybrid"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}],"description":"Model parameters defined in-place or via model mixins","properties":{"functional":{"enum":["hse06","b3lyp"]}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/lda","$schema":"http://json-schema.org/draft-07/schema#","title":"model local density approximation","type":"object","required":["categories","name","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["lda"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}],"description":"Model parameters defined in-place or via model mixins","additionalProperties":true,"properties":{"functional":{"enum":["pz"]}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/legacy/dft","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model density functional theory","type":"object","definitions":{"lda":{"properties":{"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]}}},"gga":{"properties":{"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]}}},"hybrid":{"properties":{"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06"]}}}},"required":["type","subtype","method"],"oneOf":[{"properties":{"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]}}},{"properties":{"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]}}},{"properties":{"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06"]}}}],"additionalProperties":true,"properties":{"type":{"const":"dft","description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},{"$id":"models-directory/legacy/ml","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model regression","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"enum":["ml"],"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"enum":["re"],"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},{"$id":"models-directory/legacy/unknown","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model unknown","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"enum":["unknown"],"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"enum":["unknown"],"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},{"$id":"models-directory/mgga","$schema":"http://json-schema.org/draft-07/schema#","title":"model meta generalized gradient approximation","type":"object","required":["categories","name","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT meta-GGA functional category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"subtype":{"enum":["mgga"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"enum":["ksdft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["dft"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["qm"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["pb"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}],"description":"Model parameters defined in-place or via model mixins","additionalProperties":true,"properties":{"functional":{"enum":["scan"]}}},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"models-directory/re","$schema":"http://json-schema.org/draft-07/schema#","title":"model regression","description":"machine learning model type/subtype schema","type":"object","required":["categories","name","parameters"],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression model category schema","type":"object","description":"Used to categorize entities such as models and methods","properties":{"type":{"enum":["re"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"enum":["ml"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"enum":["det"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier1":{"enum":["st"],"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}},"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"project","$schema":"http://json-schema.org/draft-07/schema#","title":"project schema","type":"object","required":["name"],"properties":{"gid":{"description":"project GID","type":"number"},"clusterBasedChargeRates":{"description":"charge rates info for project","type":"array","items":{"type":"object","properties":{"rate":{"type":"number"},"timestamp":{"type":"number"},"hostname":{"type":"string"}}}},"isExternal":{"type":"boolean","default":false},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"properties-directory/derived-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},{"$id":"properties-directory/electronic-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"electronic configuration schema","type":"object","properties":{"charge":{"description":"total charge of the molecular system","type":"integer"},"multiplicity":{"description":"calculated as 2S+1, with S is the total spin angular momentum","type":"integer"}}},{"$id":"properties-directory/elemental/atomic-radius","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic radius","description":"atomic radius","type":"object","required":["name","value"],"properties":{"name":{"enum":["atomic_radius"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"value":{"type":"number"}}},{"$id":"properties-directory/elemental/electronegativity","$schema":"http://json-schema.org/draft-07/schema#","title":"electronegativity","description":"electronegativity for the element (Pauling scale)","type":"object","required":["name","value"],"properties":{"name":{"enum":["electronegativity"]},"value":{"type":"number"}}},{"$id":"properties-directory/elemental/ionization-potential","$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential elemental property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["ionization_potential"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"value":{"type":"number"}}},{"$id":"properties-directory/jupyter-notebook-endpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter notebook endpoint property schema","type":"object","required":["name","host","port","token"],"properties":{"name":{"enum":["jupyter_notebook_endpoint"]},"host":{"type":"string"},"port":{"type":"number"},"token":{"type":"string"}}},{"$id":"properties-directory/non-scalar/average-potential-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Average potential profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"],"description":"units for an axis","type":"string"}}},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["average_potential_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/band-gaps","$schema":"http://json-schema.org/draft-07/schema#","title":"Band gaps property schema","description":"contains band gap values","type":"object","required":["name","values"],"properties":{"name":{"enum":["band_gaps"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","required":["type","value"],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"value":{"type":"number"}}}},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"kpoint":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"weight":{"type":"number"},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"spin":{"type":"number"},"energies":{"type":"array"},"occupations":{"type":"array"}}}}}}}}},{"$id":"properties-directory/non-scalar/band-structure","$schema":"http://json-schema.org/draft-07/schema#","title":"Band structure property schema","type":"object","required":["name","spin","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["kpoints"],"description":"label of an axis object","type":"string"},"units":{"enum":["crystal","cartesian"],"default":"crystal","description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["band_structure"]},"spin":{"description":"spin of each band","type":"array","items":{"type":"number","enum":[0.5,-0.5]}},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/charge-density-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Charge density profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["charge density"],"description":"label of an axis object","type":"string"},"units":{"enum":["e/A"],"description":"units for an axis","type":"string"}}},"name":{"enum":["charge_density_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/density-of-states","$schema":"http://json-schema.org/draft-07/schema#","title":"Density of states property schema","type":"object","required":["legend","name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["density of states"],"description":"label of an axis object","type":"string"},"units":{"enum":["states/unitcell"],"description":"units for an axis","type":"string"}}},"name":{"enum":["density_of_states"]},"legend":{"type":"array","items":{"type":"object","properties":{"element":{"description":"chemical element","type":"string"},"index":{"description":"index inside sub-array of atoms of the same element type","type":"integer"},"electronicState":{"description":"electronic character and shell of PDOS, such as `1s` or `s`, or `total`","type":"string","pattern":"^([1-5]{1})?(s|p|d|f|g).*$"},"spin":{"description":"spin of the electronic state","type":"number","enum":[0.5,-0.5]}}}},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/dielectric-tensor","$schema":"http://json-schema.org/draft-07/schema#","title":"dielectric tensor property schema","description":"The real and imaginary parts of the diagonal elements of the dieletric tensor","type":"object","required":["name","values"],"properties":{"name":{"enum":["dielectric_tensor"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","required":["part","frequencies","components"],"description":"Schema for a function of frequency yielding a nx3 matrix","properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"},"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}}}},{"$id":"properties-directory/non-scalar/file-content","$schema":"http://json-schema.org/draft-07/schema#","title":"File content property schema","type":"object","required":["name","filetype","objectData"],"properties":{"name":{"enum":["file_content"]},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string","enum":["image","text","csv"],"$comment":"isGenerative:true"},"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"}}},{"$id":"properties-directory/non-scalar/final-structure","$schema":"http://json-schema.org/draft-07/schema#","title":"Final structure property schema","type":"object","required":["name","isRelaxed","materialId"],"properties":{"name":{"enum":["final_structure"]},"isRelaxed":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}}},{"$id":"properties-directory/non-scalar/hubbard-u","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U parameters property schema","description":"Hubbard U values in eV corresponding to atomic species, orbital and site number.","type":"object","required":["name","values","units"],"properties":{"name":{"enum":["hubbard_u"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","atomicSpecies","orbitalName","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$id":"properties-directory/non-scalar/hubbard-v","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V parameters property schema","description":"Hubbard V values corresponding to atomic pairs","type":"object","required":["name","units","values"],"properties":{"name":{"enum":["hubbard_v"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","id2","atomicSpecies","atomicSpecies2","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$id":"properties-directory/non-scalar/hubbard-v-nn","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V NN parameters property schema","description":"Hubbard V value in eV for nearest neighbors used in hp.x output parsing","type":"object","required":["name","units","values"],"properties":{"name":{"enum":["hubbard_v_nn"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","id2","atomicSpecies","atomicSpecies2","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$id":"properties-directory/non-scalar/is-relaxed","$schema":"http://json-schema.org/draft-07/schema#","title":"Is relaxed property schema","type":"object","required":["name","value","materialId"],"properties":{"name":{"enum":["is_relaxed"]},"value":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}}},{"$id":"properties-directory/non-scalar/phonon-dispersions","$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon band structure property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["qpoints"],"description":"label of an axis object","type":"string"},"units":{"enum":["crystal","cartesian"],"default":"crystal","description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["frequency"],"description":"label of an axis object","type":"string"},"units":{"enum":["cm-1","THz","meV"],"description":"units for an axis","type":"string"}}},"name":{"enum":["phonon_dispersions"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/phonon-dos","$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon density of states property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["frequency"],"description":"label of an axis object","type":"string"},"units":{"enum":["cm-1","THz","meV"],"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["Phonon DOS"],"description":"label of an axis object","type":"string"},"units":{"enum":["states/cm-1","states/THz","states/meV"],"description":"units for an axis","type":"string"}}},"name":{"enum":["phonon_dos"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/potential-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Potential profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["potential_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/reaction-energy-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["reaction coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["reaction_energy_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/stress-tensor","$schema":"http://json-schema.org/draft-07/schema#","title":"Stress tensor property schema","type":"object","required":["name","value","units"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"name":{"enum":["stress_tensor"]},"units":{"enum":["kbar","pa"]}}},{"$id":"properties-directory/non-scalar/total-energy-contributions","$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy contributions property schema","type":"object","required":["name"],"properties":{"temperatureEntropy":{"description":"product of temperature and configurational entropy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["temperature_entropy"]},"value":{"type":"number"}}},"harris_foulkes":{"description":"non self-consitent energy based on an input charge density","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["harris_foulkes"]},"value":{"type":"number"}}},"smearing":{"description":"smearing energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["smearing"]},"value":{"type":"number"}}},"one_electron":{"description":"kinetic + pseudopotential energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["one_electron"]},"value":{"type":"number"}}},"hartree":{"description":"energy due to coulomb potential","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["hartree"]},"value":{"type":"number"}}},"exchange":{"description":"exchange energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["exchange"]},"value":{"type":"number"}}},"exchange_correlation":{"description":"exchange and correlation energy per particle","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["exchange_correlation"]},"value":{"type":"number"}}},"ewald":{"description":"summation of interaction energies at long length scales due to coloumbic interactions","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["ewald"]},"value":{"type":"number"}}},"alphaZ":{"description":"divergent electrostatic ion interaction in compensating electron gas","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["alphaZ"]},"value":{"type":"number"}}},"atomicEnergy":{"description":"kinetic energy of wavefunctions in the atomic limit","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["atomic_energy"]},"value":{"type":"number"}}},"eigenvalues":{"description":"sum of one electron energies of kinetic, electrostatic, and exchange correlation","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["eigenvalues"]},"value":{"type":"number"}}},"PAWDoubleCounting2":{"description":"double counting correction 2","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["PAW_double-counting_correction_2"]},"value":{"type":"number"}}},"PAWDoubleCounting3":{"description":"double counting correction 3","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["PAW_double-counting_correction_3"]},"value":{"type":"number"}}},"hartreeFock":{"description":"hartree-fock contribution","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["hartree_fock"]},"value":{"type":"number"}}},"name":{"enum":["total_energy_contributions"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},{"$id":"properties-directory/non-scalar/vibrational-spectrum","$schema":"http://json-schema.org/draft-07/schema#","title":"Vibrational spectrum property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["frequency","wavenumber"],"description":"label of an axis object","type":"string"},"units":{"enum":["cm-1","THz","meV"],"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["Intensity","Absorbance","Absorption coefficient"],"description":"label of an axis object","type":"string"},"units":{"enum":["(debye/angstrom)^2","km/mol","m/mol","a.u."],"description":"units for an axis","type":"string"}}},"name":{"enum":["vibrational_spectrum"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$id":"properties-directory/non-scalar/workflow","$schema":"http://json-schema.org/draft-07/schema#","title":"Workflow property schema","type":"object","required":["name","subworkflows","units"],"properties":{"name":{"enum":["workflow:pyml_predict"],"description":"entity name","type":"string"},"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","required":["application","model","name","units"],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false},"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","type","workflowId"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["map"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["subworkflow"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"properties-directory/reusable/hubbard-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","required":["values","units"],"properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","id2","atomicSpecies","atomicSpecies2","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$id":"properties-directory/scalar/electron-affinity","$schema":"http://json-schema.org/draft-07/schema#","title":"Electron affinity property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["electron_affinity"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/fermi-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Fermi energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["fermi_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/formation-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["formation_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/ionization-potential","$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential scalar property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["ionization_potential"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/pressure","$schema":"http://json-schema.org/draft-07/schema#","title":"Pressure property schema","description":"average pressure in unit cell","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["pressure"]},"units":{"enum":["kbar","pa"]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/reaction-energy-barrier","$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy barrier property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["reaction_energy_barrier"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/surface-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Surface energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["surface_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/total-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["total_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/total-force","$schema":"http://json-schema.org/draft-07/schema#","title":"Total forces property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["total_force"]},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/valence-band-offset","$schema":"http://json-schema.org/draft-07/schema#","title":"Valence band offset property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["valence_band_offset"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/scalar/zero-point-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Zero point energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["zero_point_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$id":"properties-directory/structural/atomic-forces","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic forces property schema","description":"coordinates of atoms by ids, vector, unitless","type":"object","required":["name","units","values"],"properties":{"name":{"enum":["atomic_forces"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}}},{"$id":"properties-directory/structural/basis/atomic-constraint","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"properties-directory/structural/basis/atomic-constraints","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"properties-directory/structural/basis/atomic-constraints-property","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints property schema","description":"atomic constraints property schema (as stored in a database)","type":"object","required":["name","values"],"properties":{"name":{"enum":["atomic_constraints"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"properties-directory/structural/basis/atomic-coordinate","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"properties-directory/structural/basis/atomic-coordinates","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"properties-directory/structural/basis/atomic-element","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"properties-directory/structural/basis/atomic-elements","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"properties-directory/structural/basis/atomic-label","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}},{"$id":"properties-directory/structural/basis/atomic-labels","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}},{"$id":"properties-directory/structural/basis/bonds","$schema":"http://json-schema.org/draft-07/schema#","title":"bonds schema","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"atomPair":{"description":"indices of the two connected atoms","type":"array","minItems":2,"maxItems":2,"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","required":["id"],"properties":{"id":{"description":"integer id of this entry","type":"integer"}}}},"bondType":{"type":"string","enum":["single","double","triple","quadruple","aromatic","tautomeric","dative","other"]}}}},{"$id":"properties-directory/structural/basis/boundary-conditions","$schema":"http://json-schema.org/draft-07/schema#","title":"boundary conditions property schema","description":"boundary conditions property schema (as stored in a database)","type":"object","required":["name","type","offset"],"properties":{"name":{"enum":["boundary_conditions"]},"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}}},{"$id":"properties-directory/structural/basis/units-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},{"$id":"properties-directory/structural/basis","$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","required":["elements","coordinates"],"properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","type":"object","required":["id","value"],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"type":"string"},"id":{"description":"integer id of this entry","type":"integer"}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","enum":["crystal","cartesian"],"default":"crystal"},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","required":["id","value"],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"properties-directory/structural/density","$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","required":["value"],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]},"value":{"type":"number"}}},{"$id":"properties-directory/structural/elemental-ratio","$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","required":["value"],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$id":"properties-directory/structural/inchi","$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi"]},"value":{"type":"string"}}},{"$id":"properties-directory/structural/inchi-key","$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","required":["value"],"properties":{"name":{"enum":["inchi_key"]},"value":{"type":"string"}}},{"$id":"properties-directory/structural/lattice/type-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},{"$id":"properties-directory/structural/lattice/type-extended-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type extended enum","type":"string","enum":["BCC","BCT-1","BCT-2","CUB","FCC","HEX","MCL","MCLC-1","MCLC-2","MCLC-3","MCLC-4","MCLC-5","ORC","ORCC","ORCF-1","ORCF-2","ORCF-3","ORCI","RHL-1","RHL-2","TET","TRI_1a","TRI_1b","TRI_2a","TRI_2b"]},{"$id":"properties-directory/structural/lattice/units/angle-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"},{"$id":"properties-directory/structural/lattice/units/length-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},{"$id":"properties-directory/structural/lattice/units","$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}},{"$id":"properties-directory/structural/lattice/vectors/units-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"},{"$id":"properties-directory/structural/lattice/vectors","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},{"$id":"properties-directory/structural/lattice","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","required":["a","b","c","alpha","beta","gamma"],"properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","required":["a","b","c"],"properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","enum":["angstrom","bohr"],"default":"angstrom"}}},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","default":{"length":"angstrom","angle":"degree"},"properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","enum":["angstrom","bohr"],"default":"angstrom"},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","enum":["degree","radian"],"default":"degree"}}}}},{"$id":"properties-directory/structural/magnetic-moments","$schema":"http://json-schema.org/draft-07/schema#","title":"Magnetic moments property schema","description":"magnetization on each ion","type":"object","required":["name","values","units"],"properties":{"name":{"enum":["magnetic_moments"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"enum":["uB"]}}},{"$id":"properties-directory/structural/molecular-pattern","$schema":"http://json-schema.org/draft-07/schema#","title":"molecular pattern schema","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"functional group pattern schema","type":"object","properties":{"name":{"enum":["functional_group"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}},"SMARTS":{"description":"SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ring pattern schema","type":"object","properties":{"name":{"enum":["ring"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}},"isAromatic":{"type":"boolean"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"special bond pattern schema","type":"object","description":"Any bonding interaction that cannot be described by simple 2-atom picture, e.g. 3-center-2-electron bond in diborane","properties":{"name":{"enum":["special_bond"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}}},"required":["name"]}]}},{"$id":"properties-directory/structural/p-norm","$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","required":["value"],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"},"value":{"type":"number"}}},{"$id":"properties-directory/structural/patterns/functional-group","$schema":"http://json-schema.org/draft-07/schema#","title":"functional group pattern schema","type":"object","required":["name"],"properties":{"name":{"enum":["functional_group"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}},"SMARTS":{"description":"SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification","type":"string"}}},{"$id":"properties-directory/structural/patterns/ring","$schema":"http://json-schema.org/draft-07/schema#","title":"ring pattern schema","type":"object","required":["name"],"properties":{"name":{"enum":["ring"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}},"isAromatic":{"type":"boolean"}}},{"$id":"properties-directory/structural/patterns/special-bond","$schema":"http://json-schema.org/draft-07/schema#","title":"special bond pattern schema","type":"object","description":"Any bonding interaction that cannot be described by simple 2-atom picture, e.g. 3-center-2-electron bond in diborane","required":["name"],"properties":{"name":{"enum":["special_bond"]},"atoms":{"type":"array","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","items":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","required":["id"],"properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"},"id":{"description":"integer id of this entry","type":"integer"}}}}}},{"$id":"properties-directory/structural/symmetry","$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"units":{"enum":["angstrom"]},"value":{"type":"number"}}},"name":{"enum":["symmetry"]}}},{"$id":"properties-directory/structural/volume","$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","required":["value"],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]},"value":{"type":"number"}}},{"$id":"properties-directory/workflow/convergence/electronic","$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence electronic property schema","type":"object","required":["data","name","units"],"properties":{"name":{"enum":["convergence_electronic"]},"units":{"enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},{"$id":"properties-directory/workflow/convergence/ionic","$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence ionic property schema","type":"object","required":["data","name","units"],"properties":{"name":{"enum":["convergence_ionic"]},"tolerance":{"description":"for ionic convergence tolerance shows force tolerance"},"units":{"description":"units for force tolerance","enum":["eV"]},"data":{"type":"array","description":"energetic and structural information","items":{"type":"object","required":["energy"],"properties":{"energy":{"description":"converged electronic energy for this structure (last in `electronic`)","type":"number"},"structure":{"description":"TODO: structural information at each step to be here","type":"object"},"electronic":{"description":"data about electronic at this ionic step","type":"object","properties":{"units":{"description":"units for force tolerance","enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"number"}}}}}}}}},{"$id":"properties-directory/workflow/convergence/kpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"convergence schema for converging a property wrt kpoints","type":"object","required":["tolerance","units","data"],"properties":{"tolerance":{"description":"tolerance for the property under investigation"},"units":{"description":"units for the property under investigation","type":"string"},"property":{"description":"name of the property under investigation","type":"string"},"data":{"type":"array","description":"kpoint grid and property information","items":{"type":"object","required":["value","grid"],"properties":{"value":{"description":"value of the property at this step"},"grid":{"description":"information about the kpoint grid","type":"object"},"spacing":{"description":"optional kpoint spacing information","type":"number"}}}}}},{"$id":"property/holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Property holder schema","type":"object","required":["data","source","repetition","exabyteId"],"properties":{"group":{"description":"property group, e.g. qe:dft:gga:pbe","type":"string"},"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Valence band offset property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["valence_band_offset"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Zero point energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["zero_point_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pressure property schema","description":"average pressure in unit cell","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["pressure"]},"units":{"enum":["kbar","pa"]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy barrier property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["reaction_energy_barrier"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Surface energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["surface_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["total_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total forces property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["total_force"]},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Fermi energy property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["fermi_energy"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential scalar property schema","type":"object","required":["name","units","value"],"properties":{"name":{"enum":["ionization_potential"],"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]},"value":{"type":"number"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stress tensor property schema","type":"object","properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","minItems":3,"maxItems":3,"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}},"name":{"enum":["stress_tensor"]},"units":{"enum":["kbar","pa"]}},"required":["name","value","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Band gaps property schema","description":"contains band gap values","type":"object","properties":{"name":{"enum":["band_gaps"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","required":["type","value"],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"value":{"type":"number"}}}},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"kpoint":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"weight":{"type":"number"},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"spin":{"type":"number"},"energies":{"type":"array"},"occupations":{"type":"array"}}}}}}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Band structure property schema","type":"object","required":["name","spin","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["kpoints"],"description":"label of an axis object","type":"string"},"units":{"enum":["crystal","cartesian"],"default":"crystal","description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["band_structure"]},"spin":{"description":"spin of each band","type":"array","items":{"type":"number","enum":[0.5,-0.5]}},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon band structure property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["qpoints"],"description":"label of an axis object","type":"string"},"units":{"enum":["crystal","cartesian"],"default":"crystal","description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["frequency"],"description":"label of an axis object","type":"string"},"units":{"enum":["cm-1","THz","meV"],"description":"units for an axis","type":"string"}}},"name":{"enum":["phonon_dispersions"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy contributions property schema","type":"object","properties":{"temperatureEntropy":{"description":"product of temperature and configurational entropy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["temperature_entropy"]},"value":{"type":"number"}}},"harris_foulkes":{"description":"non self-consitent energy based on an input charge density","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["harris_foulkes"]},"value":{"type":"number"}}},"smearing":{"description":"smearing energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["smearing"]},"value":{"type":"number"}}},"one_electron":{"description":"kinetic + pseudopotential energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["one_electron"]},"value":{"type":"number"}}},"hartree":{"description":"energy due to coulomb potential","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["hartree"]},"value":{"type":"number"}}},"exchange":{"description":"exchange energy","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["exchange"]},"value":{"type":"number"}}},"exchange_correlation":{"description":"exchange and correlation energy per particle","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["exchange_correlation"]},"value":{"type":"number"}}},"ewald":{"description":"summation of interaction energies at long length scales due to coloumbic interactions","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["ewald"]},"value":{"type":"number"}}},"alphaZ":{"description":"divergent electrostatic ion interaction in compensating electron gas","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["alphaZ"]},"value":{"type":"number"}}},"atomicEnergy":{"description":"kinetic energy of wavefunctions in the atomic limit","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["atomic_energy"]},"value":{"type":"number"}}},"eigenvalues":{"description":"sum of one electron energies of kinetic, electrostatic, and exchange correlation","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["eigenvalues"]},"value":{"type":"number"}}},"PAWDoubleCounting2":{"description":"double counting correction 2","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["PAW_double-counting_correction_2"]},"value":{"type":"number"}}},"PAWDoubleCounting3":{"description":"double counting correction 3","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["PAW_double-counting_correction_3"]},"value":{"type":"number"}}},"hartreeFock":{"description":"hartree-fock contribution","type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","required":["value"],"properties":{"name":{"enum":["hartree_fock"]},"value":{"type":"number"}}},"name":{"enum":["total_energy_contributions"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon density of states property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["frequency"],"description":"label of an axis object","type":"string"},"units":{"enum":["cm-1","THz","meV"],"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["Phonon DOS"],"description":"label of an axis object","type":"string"},"units":{"enum":["states/cm-1","states/THz","states/meV"],"description":"units for an axis","type":"string"}}},"name":{"enum":["phonon_dos"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Potential profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["potential_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["reaction coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["reaction_energy_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density of states property schema","type":"object","required":["legend","name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["density of states"],"description":"label of an axis object","type":"string"},"units":{"enum":["states/unitcell"],"description":"units for an axis","type":"string"}}},"name":{"enum":["density_of_states"]},"legend":{"type":"array","items":{"type":"object","properties":{"element":{"description":"chemical element","type":"string"},"index":{"description":"index inside sub-array of atoms of the same element type","type":"integer"},"electronicState":{"description":"electronic character and shell of PDOS, such as `1s` or `s`, or `total`","type":"string","pattern":"^([1-5]{1})?(s|p|d|f|g).*$"},"spin":{"description":"spin of the electronic state","type":"number","enum":[0.5,-0.5]}}}},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dielectric tensor property schema","description":"The real and imaginary parts of the diagonal elements of the dieletric tensor","type":"object","properties":{"name":{"enum":["dielectric_tensor"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","required":["part","frequencies","components"],"description":"Schema for a function of frequency yielding a nx3 matrix","properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"},"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}}}}}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"File content property schema","type":"object","required":["name","filetype","objectData"],"properties":{"name":{"enum":["file_content"]},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string","enum":["image","text","csv"],"$comment":"isGenerative:true"},"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U parameters property schema","description":"Hubbard U values in eV corresponding to atomic species, orbital and site number.","type":"object","properties":{"name":{"enum":["hubbard_u"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","atomicSpecies","orbitalName","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}},"required":["name","values","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V parameters property schema","description":"Hubbard V values corresponding to atomic pairs","type":"object","required":["name","units","values"],"properties":{"name":{"enum":["hubbard_v"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","id2","atomicSpecies","atomicSpecies2","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V NN parameters property schema","description":"Hubbard V value in eV for nearest neighbors used in hp.x output parsing","type":"object","required":["name","units","values"],"properties":{"name":{"enum":["hubbard_v_nn"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","required":["id","id2","atomicSpecies","atomicSpecies2","value"],"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."},"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Average potential profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"],"description":"units for an axis","type":"string"}}},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","required":["label"],"properties":{"label":{"enum":["energy"],"description":"label of an axis object","type":"string"},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"],"description":"units for an axis","type":"string"}}},"name":{"enum":["average_potential_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Charge density profile property schema","type":"object","required":["name","xAxis","xDataArray","yAxis","yDataSeries"],"properties":{"xAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["z coordinate"],"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}}},"yAxis":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","required":["label"],"properties":{"label":{"enum":["charge density"],"description":"label of an axis object","type":"string"},"units":{"enum":["e/A"],"description":"units for an axis","type":"string"}}},"name":{"enum":["charge_density_profile"]},"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Workflow property schema","type":"object","required":["name","subworkflows","units"],"properties":{"name":{"enum":["workflow:pyml_predict"],"description":"entity name","type":"string"},"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","required":["application","model","name","units"],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false},"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","type","workflowId"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["map"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["subworkflow"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Magnetic moments property schema","description":"magnetization on each ion","type":"object","properties":{"name":{"enum":["magnetic_moments"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"enum":["uB"]}},"required":["name","values","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic forces property schema","description":"coordinates of atoms by ids, vector, unitless","type":"object","properties":{"name":{"enum":["atomic_forces"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","description":"object containing integer id and value each","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","type":"array","minItems":3,"maxItems":3,"description":"value of this entry","items":{"type":"number"}},"id":{"description":"integer id of this entry","type":"integer"}}}},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}},"required":["name","units","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence electronic property schema","type":"object","properties":{"name":{"enum":["convergence_electronic"]},"units":{"enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"required":["data","name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence ionic property schema","type":"object","properties":{"name":{"enum":["convergence_ionic"]},"tolerance":{"description":"for ionic convergence tolerance shows force tolerance"},"units":{"description":"units for force tolerance","enum":["eV"]},"data":{"type":"array","description":"energetic and structural information","items":{"type":"object","required":["energy"],"properties":{"energy":{"description":"converged electronic energy for this structure (last in `electronic`)","type":"number"},"structure":{"description":"TODO: structural information at each step to be here","type":"object"},"electronic":{"description":"data about electronic at this ionic step","type":"object","properties":{"units":{"description":"units for force tolerance","enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"number"}}}}}}}},"required":["data","name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Is relaxed property schema","type":"object","properties":{"name":{"enum":["is_relaxed"]},"value":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","value","materialId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Final structure property schema","type":"object","properties":{"name":{"enum":["final_structure"]},"isRelaxed":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","isRelaxed","materialId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter notebook endpoint property schema","type":"object","properties":{"name":{"enum":["jupyter_notebook_endpoint"]},"host":{"type":"string"},"port":{"type":"number"},"token":{"type":"string"}},"required":["name","host","port","token"]}],"discriminator":{"propertyName":"name"}},"source":{"type":"object","required":["type","info"],"properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","required":["jobId","unitId"],"properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}}}}},"exabyteId":{"description":"Id of the corresponding item in the entity bank that this property is obtained for","type":"array","items":{"type":"string"}},"precision":{"type":"object","properties":{"value":{"type":"number"},"metric":{"type":"string"}}},"systemTags":{"description":"property system tags, marks property system characteristics, values refined or best (could be both)","type":"array","items":{"type":"string","enum":["isRefined","isBest"]}},"repetition":{"type":"number"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"property/meta-holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Meta property holder schema","type":"object","required":["data","source"],"properties":{"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","required":["accuracy_level","unit","value"],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]},"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]},"value":{"type":"number"}}}}}}},"required":["element","type","exchangeCorrelation","source","path","apps","name","hash"]}]},"source":{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"type":"object"}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"property/proto-holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Proto property holder schema","type":"object","required":["data","source"],"properties":{"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints property schema","description":"atomic constraints property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["atomic_constraints"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","required":["id","value"],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}],"description":"value of this entry"},"id":{"description":"integer id of this entry","type":"integer"}}}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundary conditions property schema","description":"boundary conditions property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["boundary_conditions"]},"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["name","type","offset"]}]},"source":{"type":"object","required":["type","info"],"properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"type":"object","properties":{"materialId":{"type":"string"}}}}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"property/source","$schema":"http://json-schema.org/draft-07/schema#","title":"Property source schema","type":"object","required":["info"],"properties":{"type":{"description":"Type of the material property's source.","type":"string"},"url":{"description":"Internet address of the reference.","type":"string"},"info":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}},"required":["jobId","unitId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","required":["name"],"properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}}}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","required":["latitude","longitude"],"properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}}},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","required":["start"],"properties":{"start":{"type":"string"},"end":{"type":"string"}}},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","required":["first","last"],"properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}}}},"reference":{"type":"array","description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.","items":{"type":"object"}}}}}},"required":["conditions","authors","title","method","timestamp"]}]}}},{"$id":"software/application","$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},{"$id":"software/application-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","required":["shortName","summary","version","build"],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},{"$id":"software/executable","$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},{"$id":"software/executable-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","required":["name","applicationId"],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},{"$id":"software/flavor","$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},{"$id":"software/flavor-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","required":["executableId","input"],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},{"$id":"software/template","$schema":"http://json-schema.org/draft-07/schema#","title":"template schema","type":"object","required":["applicationName","content","contextProviders","executableName","name"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"executableName":{"type":"string"},"contextProviders":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"isManuallyChanged":{"type":"boolean"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}}},{"$id":"software/template-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"template properties schema","type":"object","required":["applicationName","content","contextProviders","executableName","name"],"properties":{"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"executableName":{"type":"string"},"contextProviders":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"isManuallyChanged":{"type":"boolean"},"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}}},{"$id":"software-directory/modeling/deepmd","$schema":"http://json-schema.org/draft-07/schema#","title":"DeePMD app schema","type":"object","required":["build","name","shortName","summary","version"],"additionalProperties":true,"properties":{"name":{"enum":["deepmd"],"description":"entity name","type":"string"},"summary":{"enum":["DeePMD is a deep learning package that is based on neural network fitted first-principles data for many-body potential energy representation and molecular dynamics"],"description":"Application's short description.","type":"string"},"version":{"enum":["2.0.2"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["dp","lmp","python"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},{"$id":"software-directory/modeling/espresso/arguments","$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},{"$id":"software-directory/modeling/espresso","$schema":"http://json-schema.org/draft-07/schema#","title":"espresso app schema","type":"object","properties":{"name":{"enum":["espresso"]},"summary":{"enum":["Quantum Espresso"]},"version":{"enum":["5.2.1","5.4.0","6.0.0","6.3","6.4.1","6.5.0","6.6.0","6.7.0","6.8.0","7.0","7.2","7.3"]}}},{"$id":"software-directory/modeling/nwchem","$schema":"http://json-schema.org/draft-07/schema#","title":"NWChem","type":"object","required":["build","name","shortName","summary","version"],"additionalProperties":true,"properties":{"name":{"enum":["NWChem"],"description":"entity name","type":"string"},"summary":{"enum":["NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations"],"description":"Application's short description.","type":"string"},"version":{"enum":["6.6","7.0.2"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["nwchem"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},{"$id":"software-directory/modeling/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema for physics-based simulation engines (defined using espresso as example)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)","title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}}}},{"$id":"software-directory/modeling/vasp","$schema":"http://json-schema.org/draft-07/schema#","title":"vienna ab-inito simulation package","type":"object","required":["build","name","shortName","summary","version"],"additionalProperties":true,"properties":{"name":{"enum":["vasp"],"description":"entity name","type":"string"},"summary":{"enum":["vienna ab-initio simulation package"],"description":"Application's short description.","type":"string"},"flavor":{"enum":["vasp","vasp_nscf","vasp_bands"]},"version":{"enum":["5.3.5"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["vasp"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},{"$id":"software-directory/scripting/jupyter-lab","$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter Lab Application Schema","type":"object","required":["build","name","shortName","summary","version"],"additionalProperties":true,"properties":{"name":{"enum":["jupyterLab"],"description":"entity name","type":"string"},"flavor":{"enum":["notebook"]},"summary":{"enum":["Jupyter Lab"],"description":"Application's short description.","type":"string"},"version":{"enum":["0.33.12"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["jupyter"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},{"$id":"software-directory/scripting/python","$schema":"http://json-schema.org/draft-07/schema#","title":"Python Programing Language Schema","type":"object","required":["build","name","shortName","summary","version"],"additionalProperties":true,"properties":{"name":{"enum":["python"],"description":"entity name","type":"string"},"flavor":{"enum":["python2","python3"]},"summary":{"enum":["Python Script"],"description":"Application's short description.","type":"string"},"version":{"enum":["2.7.5","3.6.1"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["python"]},"arguments":{"description":"Optional arguments passed to the Python script","type":"string"},"environment":{"description":"Optional environment variables exported before running the Python script","type":"object"},"dependencies":{"description":"Optional Python dependencies, e.g. amqp==1.4.6","type":"array"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},{"$id":"software-directory/scripting/shell","$schema":"http://json-schema.org/draft-07/schema#","title":"Shell Scripting Language Schema","type":"object","required":["build","name","shortName","summary","version"],"additionalProperties":true,"properties":{"name":{"enum":["shell"],"description":"entity name","type":"string"},"flavor":{"enum":["sh","bash","zsh","csh"]},"summary":{"enum":["Shell Script"],"description":"Application's short description.","type":"string"},"version":{"enum":["4.2.46"],"description":"Application version. e.g. 5.3.5","type":"string"},"exec":{"enum":["sh","bash","zsh","csh"]},"arguments":{"description":"Optional arguments passed to the Shell script","type":"string"},"environment":{"description":"Optional environment variables exported before running the Shell script","type":"object"},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},{"$id":"software-directory/scripting/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema for scripting-based applications","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)","title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}}}},{"$id":"system/-material","$schema":"http://json-schema.org/draft-07/schema#","title":"Material entity reference schema","type":"object","required":["_id"],"properties":{"cls":{"description":"Material class","type":"string","enum":["Material"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/-parent-job","$schema":"http://json-schema.org/draft-07/schema#","title":"Parent job entity reference schema","type":"object","required":["_id"],"properties":{"cls":{"description":"Job class","type":"string","enum":["Job"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/-project","$schema":"http://json-schema.org/draft-07/schema#","title":"Project entity reference schema","type":"object","required":["_id"],"properties":{"cls":{"description":"Project class","type":"string","enum":["Project"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/bankable","$schema":"http://json-schema.org/draft-07/schema#","title":"bankable schema","type":"object","properties":{"exabyteId":{"description":"Identity of the corresponding bank entity","type":"string"},"hash":{"description":"Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.","type":"string"}}},{"$id":"system/consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}},{"$id":"system/creator","$schema":"http://json-schema.org/draft-07/schema#","title":"Creator entity reference schema","type":"object","required":["_id"],"properties":{"cls":{"description":"Creator class","type":"string","enum":["User"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/creator-account","$schema":"http://json-schema.org/draft-07/schema#","title":"creator account schema","type":"object","properties":{"creatorAccount":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}}}},{"$id":"system/database-source","$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","required":["id","source","origin"],"properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}}},{"$id":"system/defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"system/description","$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$id":"system/entity-reference","$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/file-source","$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","required":["filename","text","hash"],"properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}}},{"$id":"system/has-consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"Has consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","required":["key","name","severity","message"],"properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}}}}}},{"$id":"system/history","$schema":"http://json-schema.org/draft-07/schema#","title":"history schema","type":"object","properties":{"history":{"type":"array","items":{"type":"object","required":["id","revision"],"properties":{"id":{"type":"string"},"revision":{"type":"number"}}}}}},{"$id":"system/iframe-message","$schema":"http://json-schema.org/draft-07/schema#","title":"iframe message schema","description":"communication message between iframe and the parent window.","type":"object","required":["type","action","payload"],"properties":{"type":{"description":"The type of the message to distinguish the direction of the message.","type":"string","enum":["from-iframe-to-host","from-host-to-iframe"],"tsEnumNames":["fromIframeToHost","fromHostToIframe"]},"action":{"description":"The action to be performed upon receiving the message.","type":"string","enum":["set-data","get-data","info"],"tsEnumNames":["setData","getData","info"]},"payload":{"description":"The content of the message with actual data.","type":"object"}}},{"$id":"system/in-set","$schema":"http://json-schema.org/draft-07/schema#","title":"System in-set schema","type":"object","properties":{"inSet":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"},"type":{"type":"string"},"index":{"type":"number"}}}}}},{"$id":"system/is-multi-material","$schema":"http://json-schema.org/draft-07/schema#","title":"is multi schema","type":"object","properties":{"isMultiMaterial":{"type":"boolean"}}},{"$id":"system/is-outdated","$schema":"http://json-schema.org/draft-07/schema#","title":"is outdated schema","type":"object","properties":{"isOutdated":{"type":"boolean"}}},{"$id":"system/job-extended","$schema":"http://json-schema.org/draft-07/schema#","title":"extended job schema","type":"object","properties":{"mode":{"type":"string"},"isExternal":{"type":"boolean"},"_materials":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}}},"_materialsSet":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","required":["_id"],"properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}}},"purged":{"type":"boolean"},"purgedAt":{"type":"number"},"dataset":{"type":"object"}}},{"$id":"system/message","$schema":"http://json-schema.org/draft-07/schema#","title":"message schema","description":"communication message between Rupy and web application.","type":"object","required":["header","payload"],"properties":{"header":{"type":"object","required":["entity","version","timestamp"],"properties":{"entity":{"type":"object","required":["_id","name"],"properties":{"_id":{"description":"job identifier","type":"string"},"name":{"description":"entity name.","type":"string","enum":["job","unit"]},"flowchartId":{"description":"unit identifier within the workflow","type":"string"},"probe":{"description":"source of the message.","type":"string","enum":["monitor","postprocessor"]}}},"version":{"description":"Rupy-Webapp communication schema version.","type":"string"},"timestamp":{"description":"Timestamp of the message.","type":"number"}}},"payload":{"description":"Actual payload of the message.","type":"object"}}},{"$id":"system/metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$id":"system/name","$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","required":["name"],"properties":{"name":{"description":"entity name","type":"string"}}},{"$id":"system/owner","$schema":"http://json-schema.org/draft-07/schema#","title":"Entity owner reference schema","type":"object","required":["_id"],"properties":{"cls":{"description":"Entity owner class","type":"string","enum":["Account"]},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"}}},{"$id":"system/path","$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},{"$id":"system/path-entity","$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","type":"object","required":["name"],"properties":{"name":{"description":"entity name","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},{"$id":"system/runtime-item","$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}},{"$id":"system/runtime-items","$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","required":["preProcessors","postProcessors","monitors","results"],"properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}}}},{"$id":"system/schema-version","$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"system/scope","$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$id":"system/set","$schema":"http://json-schema.org/draft-07/schema#","title":"Entity set schema","type":"object","properties":{"isEntitySet":{"type":"boolean"},"entitySetType":{"type":"string"},"entityCls":{"type":"string"}}},{"$id":"system/sharing","$schema":"http://json-schema.org/draft-07/schema#","title":"extended sharing schema","type":"object","properties":{"sharedCount":{"type":"number"}}},{"$id":"system/soft-removable","$schema":"http://json-schema.org/draft-07/schema#","title":"soft removable entity schema","type":"object","properties":{"removedAt":{"description":"Timestamp of the moment when entity was removed","type":"string"},"removed":{"description":"Identifies that entity was removed","type":"boolean"}}},{"$id":"system/status","$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}}}},{"$id":"system/tags","$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"system/timestampable","$schema":"http://json-schema.org/draft-07/schema#","title":"timestampable entity schema","type":"object","properties":{"createdAt":{"description":"entity creation time","type":"string","format":"date-time"},"updatedAt":{"description":"entity last modification time","type":"string","format":"date-time"},"createdBy":{"type":"string"},"updatedBy":{"type":"string"}}},{"$id":"system/use-values","$schema":"http://json-schema.org/draft-07/schema#","title":"use values schema","type":"object","properties":{"useValues":{"type":"boolean"}}},{"$id":"workflow/base","$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","required":["name"],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}},{"$id":"workflow/base-flow","$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","required":["name","units"],"properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}},{"$id":"workflow/scope","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","required":["global","local"],"properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}}},{"$id":"workflow/subworkflow/unit","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}}],"discriminator":{"propertyName":"type"},"required":["type"]},{"$id":"workflow/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","required":["application","model","name","units"],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false},"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}},{"$id":"workflow/unit/assertion","$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$id":"workflow/unit/assignment","$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$id":"workflow/unit/base","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}}},{"$id":"workflow/unit/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$id":"workflow/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$id":"workflow/unit/input/-input","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema for physics-based simulation engines","type":"object","properties":{"input":{"title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}}}},{"$id":"workflow/unit/input/-inputItem","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","required":["name","content"],"properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}}},{"$id":"workflow/unit/input/-inputItemId","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}},{"$id":"workflow/unit/input/-inputItemScope","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}},{"$id":"workflow/unit/input/-map-input/values","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit values schema","type":"object","properties":{"values":{"type":"string"}}},{"$id":"workflow/unit/input/-map-input","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit map input schema","type":"object","properties":{"target":{"type":"string"},"values":{"type":"array","items":{"oneOf":[{"type":"number"},{"type":"string"},{"type":"object"}]}},"useValues":{"type":"boolean"},"scope":{"type":"string"},"name":{"type":"string"}}},{"$id":"workflow/unit/io/api","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","required":["endpoint","endpoint_options"],"additionalProperties":true,"properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}}},{"$id":"workflow/unit/io/db","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$id":"workflow/unit/io/object-storage","$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}},{"$id":"workflow/unit/io","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$id":"workflow/unit/map","$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","type","workflowId"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["map"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}}}},{"$id":"workflow/unit/mixins/assertion","$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","required":["name","statement"],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$id":"workflow/unit/mixins/assignment","$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","required":["name","operand","value"],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$id":"workflow/unit/mixins/base","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","required":["type","flowchartId"],"additionalProperties":true,"properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}}},{"$id":"workflow/unit/mixins/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","required":["input","statement","then","else","maxOccurrences"],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$id":"workflow/unit/mixins/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","required":["input","application"],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$id":"workflow/unit/mixins/io","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","required":["subtype","source","input"],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$id":"workflow/unit/mixins/map","$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","required":["input","workflowId"],"properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}}}},{"$id":"workflow/unit/mixins/processing","$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","required":["operation","operationType","inputData"],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}},{"$id":"workflow/unit/mixins/reduce","$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","required":["mapFlowchartId","input"],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$id":"workflow/unit/mixins/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"enum":["subworkflow"]}}},{"$id":"workflow/unit/processing","$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}},{"$id":"workflow/unit/reduce","$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$id":"workflow/unit/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["subworkflow"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}}},{"$id":"workflow/unit","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","type","workflowId"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["map"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["subworkflow"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}}}],"discriminator":{"propertyName":"type"},"required":["type"]},{"$id":"workflow","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","required":["name","subworkflows","units"],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","required":["application","model","name","units"],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","required":["type","subtype","method"],"additionalProperties":true,"properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","required":["type","subtype"],"properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}}}}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false},"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","required":["queue","nodes","ppn","timeLimit"],"properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","default":{},"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","additionalProperties":false,"properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}}}}}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","source","subtype","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["io"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","required":["objectData"],"additionalProperties":true,"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"},"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","required":["flowchartId","input","mapFlowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["reduce"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","required":["operation","arguments"],"properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","required":["else","flowchartId","input","maxOccurrences","monitors","name","postProcessors","preProcessors","results","statement","then","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["condition"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","statement","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assertion"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","required":["application","flowchartId","input","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["execution"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","required":["build","name","shortName","summary","version"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}}},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","required":["applicationId","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}}},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","required":["executableId","input","monitors","name","postProcessors","preProcessors","results"],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}}}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","required":["flowchartId","monitors","name","operand","postProcessors","preProcessors","results","type","value"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["assignment"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"scope":{"type":"string"},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","required":["scope","name"],"properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}}}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","required":["flowchartId","inputData","monitors","name","operation","operationType","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["processing"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","required":["flowchartId","input","monitors","name","postProcessors","preProcessors","results","type","workflowId"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["map"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","required":["target"],"properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","required":["flowchartId","monitors","name","postProcessors","preProcessors","results","type"],"additionalProperties":true,"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","required":["name"],"properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}}}},"tags":{"description":"entity tags","type":"array","items":{"type":"string"}},"status":{"type":"string","description":"Status of the unit.","enum":["idle","active","warning","error","finished"]},"statusTrack":{"type":"array","items":{"type":"object","required":["trackedAt","status"],"properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}}}},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string","enum":["subworkflow"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}}}],"discriminator":{"propertyName":"type"},"required":["type"]}},"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"},"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"},"name":{"description":"entity name","type":"string"},"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false},"metadata":{"type":"object"}}}] \ No newline at end of file diff --git a/dist/js/types.d.ts b/dist/js/types.d.ts index 689084082..d37c19761 100644 --- a/dist/js/types.d.ts +++ b/dist/js/types.d.ts @@ -2889,7 +2889,7 @@ export declare enum Name { VASPNEBInputDataManager = "VASPNEBInputDataManager", NWChemInputDataManager = "NWChemInputDataManager" } -/** Schema dist/js/schema/context_providers_directory/boundary_conditions_data_provider.json */ +/** Schema dist/js/schema/context_providers_directory/boundary_conditions_provider.json */ export interface BoundaryConditionsProviderSchema { /** * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. @@ -3259,7 +3259,7 @@ export interface VASPNEBContextProviderSchema { */ INTERMEDIATE_IMAGES: string[]; } -/** Schema dist/js/schema/context_providers_directory/collinear_magnetization_context_provider.json */ +/** Schema dist/js/schema/context_providers_directory/collinear_magnetization_provider.json */ /** * Set starting magnetization, can have values in the range [-1, +1]. */ @@ -3306,7 +3306,7 @@ export declare enum ContextProviderNameEnum { VASPNEBInputDataManager = "VASPNEBInputDataManager", NWChemInputDataManager = "NWChemInputDataManager" } -/** Schema dist/js/schema/context_providers_directory/hubbard_j_context_provider.json */ +/** Schema dist/js/schema/context_providers_directory/hubbard_j_provider.json */ /** * Hubbard parameters for DFT+U+J calculation. * @@ -3326,7 +3326,7 @@ export type HubbardJProviderSchema = [ value?: number; }[] ]; -/** Schema dist/js/schema/context_providers_directory/hubbard_legacy_context_provider.json */ +/** Schema dist/js/schema/context_providers_directory/hubbard_legacy_provider.json */ /** * Hubbard parameters for DFT+U calculation. * @@ -3344,7 +3344,7 @@ export type HubbardLegacyProviderSchema = [ hubbardUValue?: number; }[] ]; -/** Schema dist/js/schema/context_providers_directory/hubbard_u_context_provider.json */ +/** Schema dist/js/schema/context_providers_directory/hubbard_u_provider.json */ /** * Hubbard U parameters for DFT+U or DFT+U+V calculation. */ @@ -3353,7 +3353,7 @@ export type HubbardUProviderSchema = { atomicOrbital?: string; hubbardUValue?: number; }[]; -/** Schema dist/js/schema/context_providers_directory/hubbard_v_context_provider.json */ +/** Schema dist/js/schema/context_providers_directory/hubbard_v_provider.json */ /** * Hubbard V parameters for DFT+U+V calculation. * @@ -3379,7 +3379,7 @@ export type HubbardVProviderSchema = [ hubbardVValue?: number; }[] ]; -/** Schema dist/js/schema/context_providers_directory/ion_dynamics_context_provider.json */ +/** Schema dist/js/schema/context_providers_directory/ion_dynamics_provider.json */ /** * Important parameters for molecular dynamics calculation */ @@ -3389,7 +3389,7 @@ export interface IonDynamicsProviderSchema { electronMass?: number; temperature?: number; } -/** Schema dist/js/schema/context_providers_directory/ml_settings_context_provider.json */ +/** Schema dist/js/schema/context_providers_directory/ml_settings_provider.json */ /** * Settings important to machine learning runs. */ @@ -3397,21 +3397,21 @@ export interface MLSettingsProviderSchema { target_column_name?: string; problem_category?: "regression" | "classification" | "clustering"; } -/** Schema dist/js/schema/context_providers_directory/ml_train_test_split_context_provider.json */ +/** Schema dist/js/schema/context_providers_directory/ml_train_test_split_provider.json */ /** * Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split. */ export interface MLTrainTestSplitProviderSchema { fraction_held_as_test_set?: number; } -/** Schema dist/js/schema/context_providers_directory/neb_data_provider.json */ +/** Schema dist/js/schema/context_providers_directory/neb_provider.json */ /** * Number of intermediate NEB images. */ export interface NEBProviderSchema { nImages?: number; } -/** Schema dist/js/schema/context_providers_directory/non_collinear_magnetization_context_provider.json */ +/** Schema dist/js/schema/context_providers_directory/non_collinear_magnetization_provider.json */ /** * Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints. */ @@ -3442,7 +3442,7 @@ export interface NonCollinearMagnetizationProviderSchema { z?: number; }; } -/** Schema dist/js/schema/context_providers_directory/planewave_cutoffs_context_provider.json */ +/** Schema dist/js/schema/context_providers_directory/planewave_cutoffs_provider.json */ /** * Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine. */ @@ -3450,7 +3450,7 @@ export interface PlanewaveCutoffsProviderSchema { wavefunction?: number; density?: number; } -/** Schema dist/js/schema/context_providers_directory/points_grid_data_provider.json */ +/** Schema dist/js/schema/context_providers_directory/points_grid_provider.json */ /** * 3D grid with shifts for k-point or q-point sampling. */ @@ -3474,7 +3474,7 @@ export interface PointsGridProviderSchema { gridMetricValue?: number; preferGridMetric?: boolean; } -/** Schema dist/js/schema/context_providers_directory/points_path_data_provider.json */ +/** Schema dist/js/schema/context_providers_directory/points_path_provider.json */ /** * Path in reciprocal space for band structure calculations. * @@ -3685,7 +3685,7 @@ export interface NamedNodeSchema { /** * entity name */ - name?: string; + name: string; } /** * This interface was referenced by `NamedNodeSchema`'s JSON-Schema @@ -3714,7 +3714,7 @@ export interface NamedNodeInGroupSchema { /** * entity name */ - name?: string; + name: string; /** * Human-readable name of group of nodes */ @@ -3790,7 +3790,7 @@ export type LinkedListSchema = ({ /** * entity name */ - name?: string; + name: string; } | { /** * Flowchart ID of next node @@ -3807,7 +3807,7 @@ export type LinkedListSchema = ({ /** * entity name */ - name?: string; + name: string; /** * Human-readable name of group of nodes */ @@ -5048,7 +5048,7 @@ export interface HasConsistencyCheckHasMetadataNamedDefaultableInMemoryEntitySch /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -5091,7 +5091,7 @@ export interface NamedInMemoryEntitySchema { /** * entity name */ - name?: string; + name: string; } /** Schema dist/js/schema/in_memory_entity/named_defaultable.json */ export interface NamedDefaultableInMemoryEntitySchema { @@ -5111,7 +5111,7 @@ export interface NamedDefaultableInMemoryEntitySchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -5135,73 +5135,13 @@ export interface NamedDefaultableHasMetadataInMemoryEntitySchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; metadata?: {}; } -/** Schema dist/js/schema/in_memory_entity/named_defaultable_runtime_items.json */ -export interface NamedDefaultableRuntimeItemsInMemoryEntitySchema { - /** - * entity identity - */ - _id?: string; - /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * entity name - */ - name?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation - */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the results for this calculation - */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; -} /** Schema dist/js/schema/job/base.json */ export interface JobBaseSchema { /** @@ -5400,7 +5340,7 @@ export interface JobBaseSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -5523,10 +5463,98 @@ export interface JobSchema { * Contains the Units of the subworkflow */ units: ({ + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; /** * type of the unit */ type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; subtype: "input" | "output" | "dataFrame"; source: "api" | "db" | "object_storage"; input: ({ @@ -5604,36 +5632,12 @@ export interface JobSchema { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -5643,6 +5647,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -5650,54 +5658,74 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -5715,36 +5743,12 @@ export interface JobSchema { */ arguments: string[]; }[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -5754,6 +5758,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -5761,54 +5769,74 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -5842,36 +5870,12 @@ export interface JobSchema { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -5881,6 +5885,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -5888,75 +5896,57 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -5974,6 +5964,20 @@ export interface JobSchema { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; + } | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -5983,6 +5987,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -5990,79 +5998,75 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -6079,26 +6083,37 @@ export interface JobSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 */ - applicationId?: string[]; + version: string; + /** + * Application build. e.g. VTST + */ + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -6112,6 +6127,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -6119,65 +6138,49 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -6194,7 +6197,7 @@ export interface JobSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -6202,39 +6205,63 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -6242,36 +6269,12 @@ export interface JobSchema { input: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -6281,6 +6284,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -6288,54 +6295,75 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -6357,36 +6385,12 @@ export interface JobSchema { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -6396,6 +6400,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -6403,82 +6411,57 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "processing"; - /** - * Contains information about the operation used. - */ - operation: string; - /** - * Contains information about the specific type of the operation used. - */ - operationType: string; - /** - * unit input (type to be specified by the child units) - */ - inputData: { - [k: string]: unknown; - }; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -6497,63 +6480,19 @@ export interface JobSchema { enableRender?: boolean; context?: {}; /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation + * Contains information about the operation used. */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + operation: string; /** - * names of the results for this calculation + * Contains information about the specific type of the operation used. */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + operationType: string; /** - * entity tags + * unit input (type to be specified by the child units) */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; + inputData: { + [k: string]: unknown; + }; [k: string]: unknown; })[]; model: { @@ -6587,51 +6526,50 @@ export interface JobSchema { }; application: { /** - * The short name of the application. e.g. qe + * entity identity */ - shortName?: string; + _id?: string; /** - * Application's short description. + * entity slug */ - summary?: string; + slug?: string; + systemName?: string; /** - * Application version. e.g. 5.3.5 + * entity's schema version. Used to distinct between different schemas. */ - version?: string; + schemaVersion?: string; /** - * Application build. e.g. VTST + * entity name */ - build?: string; + name: string; /** - * Whether advanced compute options are present + * Identifies that entity is defaultable */ - hasAdvancedComputeOptions?: boolean; + isDefault?: boolean; /** - * Whether licensing is present + * The short name of the application. e.g. qe */ - isLicensed?: boolean; + shortName: string; /** - * entity identity + * Application's short description. */ - _id?: string; + summary: string; /** - * entity slug + * Application version. e.g. 5.3.5 */ - slug?: string; - systemName?: string; + version: string; /** - * entity's schema version. Used to distinct between different schemas. + * Application build. e.g. VTST */ - schemaVersion?: string; + build: string; /** - * entity name + * Whether advanced compute options are present */ - name?: string; + hasAdvancedComputeOptions?: boolean; /** - * Identifies that entity is defaultable + * Whether licensing is present */ - isDefault?: boolean; - [k: string]: unknown; + isLicensed?: boolean; }; /** * Defines whether to store the results/properties extracted in this unit to properties collection @@ -6759,56 +6697,144 @@ export interface JobSchema { */ units: ({ /** - * type of the unit + * entity identity */ - type: "io"; - subtype: "input" | "output" | "dataFrame"; - source: "api" | "db" | "object_storage"; - input: ({ - /** - * rest API endpoint - */ - endpoint: string; - /** - * rest API endpoint options - */ - endpoint_options: {}; + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { /** - * the name of the variable in local scope to save the data under + * The name of this item. e.g. scf_accuracy */ - name?: string; - [k: string]: unknown; - } | ({ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { /** - * IDs of item to retrieve from db + * The name of this item. e.g. scf_accuracy */ - ids: string[]; - [k: string]: unknown; - } | { + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { /** - * db collection name + * The name of this item. e.g. scf_accuracy */ - collection: string; + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { /** - * whether the result should be saved as draft + * The name of this item. e.g. scf_accuracy */ - draft: boolean; - [k: string]: unknown; - }) | { - objectData: { - /** - * Object storage container for the file - */ - CONTAINER?: string; - /** - * Name of the file inside the object storage bucket - */ - NAME?: string; - /** - * Object storage provider - */ - PROVIDER?: string; - /** + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; + /** + * type of the unit + */ + type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + subtype: "input" | "output" | "dataFrame"; + source: "api" | "db" | "object_storage"; + input: ({ + /** + * rest API endpoint + */ + endpoint: string; + /** + * rest API endpoint options + */ + endpoint_options: {}; + /** + * the name of the variable in local scope to save the data under + */ + name?: string; + [k: string]: unknown; + } | ({ + /** + * IDs of item to retrieve from db + */ + ids: string[]; + [k: string]: unknown; + } | { + /** + * db collection name + */ + collection: string; + /** + * whether the result should be saved as draft + */ + draft: boolean; + [k: string]: unknown; + }) | { + objectData: { + /** + * Object storage container for the file + */ + CONTAINER?: string; + /** + * Name of the file inside the object storage bucket + */ + NAME?: string; + /** + * Object storage provider + */ + PROVIDER?: string; + /** * Region for the object container specified in Container */ REGION?: string; @@ -6839,36 +6865,12 @@ export interface JobSchema { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -6878,6 +6880,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -6885,54 +6891,74 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -6950,36 +6976,12 @@ export interface JobSchema { */ arguments: string[]; }[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -6989,6 +6991,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -6996,54 +7002,74 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -7077,36 +7103,12 @@ export interface JobSchema { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -7116,6 +7118,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -7123,75 +7129,57 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -7209,6 +7197,20 @@ export interface JobSchema { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; + } | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -7218,6 +7220,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -7225,79 +7231,75 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -7314,26 +7316,37 @@ export interface JobSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe + */ + shortName: string; + /** + * Application's short description. */ - name: string; + summary: string; /** - * _ids of the application this executable belongs to + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST */ - applicationId?: string[]; + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -7347,6 +7360,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -7354,65 +7371,49 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -7429,7 +7430,7 @@ export interface JobSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -7437,39 +7438,63 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -7477,36 +7502,12 @@ export interface JobSchema { input: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -7516,6 +7517,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -7523,54 +7528,75 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -7592,36 +7618,12 @@ export interface JobSchema { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -7631,6 +7633,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -7638,55 +7644,74 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "processing"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Contains information about the operation used. */ @@ -7701,36 +7726,12 @@ export interface JobSchema { inputData: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -7740,6 +7741,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -7747,54 +7752,74 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "map"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Id of workflow to run inside map */ @@ -7821,36 +7846,12 @@ export interface JobSchema { values?: (string | number | {})[]; useValues?: boolean; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -7860,6 +7861,10 @@ export interface JobSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -7867,67 +7872,57 @@ export interface JobSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "subworkflow"; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -7945,64 +7940,6 @@ export interface JobSchema { */ enableRender?: boolean; context?: {}; - /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation - */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the results for this calculation - */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * entity tags - */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; [k: string]: unknown; })[]; /** @@ -8033,7 +7970,7 @@ export interface JobSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -8236,7 +8173,7 @@ export interface JobSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -8503,6 +8440,15 @@ export interface MaterialSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -8519,12 +8465,11 @@ export interface MaterialSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; } /** Schema dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json */ /** @@ -8805,6 +8750,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -8821,12 +8775,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -9078,6 +9031,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -9094,12 +9056,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -9399,6 +9360,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -9415,12 +9385,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -9672,6 +9641,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -9688,12 +9666,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -9982,6 +9959,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -9998,12 +9984,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -10255,6 +10240,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -10271,12 +10265,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -10576,6 +10569,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -10592,12 +10594,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -10849,6 +10850,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -10865,12 +10875,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -11160,6 +11169,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -11176,12 +11194,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -11433,6 +11450,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -11449,12 +11475,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -11754,6 +11779,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -11770,12 +11804,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -12027,6 +12060,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -12043,12 +12085,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -12337,6 +12378,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -12353,12 +12403,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -12610,6 +12659,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -12626,12 +12684,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -12931,6 +12988,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -12947,12 +13013,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -13204,6 +13269,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -13220,12 +13294,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -13492,6 +13565,15 @@ export interface InterfaceConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -13508,12 +13590,11 @@ export interface InterfaceConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -13821,6 +13902,15 @@ export interface GrainBoundaryLinearConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -13837,12 +13927,11 @@ export interface GrainBoundaryLinearConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -14094,6 +14183,15 @@ export interface GrainBoundaryLinearConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -14110,12 +14208,11 @@ export interface GrainBoundaryLinearConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -14415,6 +14512,15 @@ export interface GrainBoundaryLinearConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -14431,12 +14537,11 @@ export interface GrainBoundaryLinearConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -14688,6 +14793,15 @@ export interface GrainBoundaryLinearConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -14704,12 +14818,11 @@ export interface GrainBoundaryLinearConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -14998,6 +15111,15 @@ export interface GrainBoundaryLinearConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -15014,12 +15136,11 @@ export interface GrainBoundaryLinearConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -15271,6 +15392,15 @@ export interface GrainBoundaryLinearConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -15287,12 +15417,11 @@ export interface GrainBoundaryLinearConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -15592,6 +15721,15 @@ export interface GrainBoundaryLinearConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -15608,12 +15746,11 @@ export interface GrainBoundaryLinearConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -15865,6 +16002,15 @@ export interface GrainBoundaryLinearConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -15881,12 +16027,11 @@ export interface GrainBoundaryLinearConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -16215,6 +16360,15 @@ export interface AdatomDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -16231,12 +16385,11 @@ export interface AdatomDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -16488,6 +16641,15 @@ export interface AdatomDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -16504,12 +16666,11 @@ export interface AdatomDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -16768,6 +16929,15 @@ export interface AdatomDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -16784,12 +16954,11 @@ export interface AdatomDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * @minItems 3 @@ -17050,6 +17219,15 @@ export interface AdatomDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -17066,12 +17244,11 @@ export interface AdatomDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -17376,6 +17553,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -17392,12 +17578,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -17649,6 +17834,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -17665,12 +17859,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -17970,6 +18163,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -17986,12 +18188,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -18243,6 +18444,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -18259,12 +18469,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -18553,6 +18762,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -18569,12 +18787,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -18826,6 +19043,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -18842,12 +19068,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -19147,6 +19372,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -19163,12 +19397,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -19420,6 +19653,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -19436,12 +19678,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -19731,6 +19972,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -19747,12 +19997,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -20004,6 +20253,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -20020,12 +20278,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -20325,6 +20582,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -20341,12 +20607,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -20598,6 +20863,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -20614,12 +20888,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -20908,6 +21181,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -20924,12 +21206,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -21181,6 +21462,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -21197,12 +21487,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -21502,6 +21791,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -21518,12 +21816,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -21775,6 +22072,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -21791,12 +22097,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -22063,6 +22368,15 @@ export interface GrainBoundaryPlanarConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -22079,12 +22393,11 @@ export interface GrainBoundaryPlanarConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -22386,6 +22699,15 @@ export interface IslandDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -22402,12 +22724,11 @@ export interface IslandDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -22659,6 +22980,15 @@ export interface IslandDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -22675,12 +23005,11 @@ export interface IslandDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -22975,6 +23304,15 @@ export interface IslandDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -22991,12 +23329,11 @@ export interface IslandDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -23248,6 +23585,15 @@ export interface IslandDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -23264,12 +23610,11 @@ export interface IslandDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -23528,6 +23873,15 @@ export interface IslandDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -23544,12 +23898,11 @@ export interface IslandDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Combined schema for all coordinate condition types @@ -23858,6 +24211,15 @@ export interface IslandDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -23874,12 +24236,11 @@ export interface IslandDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -24178,6 +24539,15 @@ export interface TerraceDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -24194,12 +24564,11 @@ export interface TerraceDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -24451,6 +24820,15 @@ export interface TerraceDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -24467,12 +24845,11 @@ export interface TerraceDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -24767,6 +25144,15 @@ export interface TerraceDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -24783,12 +25169,11 @@ export interface TerraceDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -25040,6 +25425,15 @@ export interface TerraceDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -25056,12 +25450,11 @@ export interface TerraceDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -25320,6 +25713,15 @@ export interface TerraceDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -25336,12 +25738,11 @@ export interface TerraceDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Combined schema for all coordinate condition types @@ -25650,6 +26051,15 @@ export interface TerraceDefectConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -25666,12 +26076,11 @@ export interface TerraceDefectConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -25943,6 +26352,15 @@ export interface PointDefectBaseConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -25959,12 +26377,11 @@ export interface PointDefectBaseConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }, unknown ]; @@ -26216,6 +26633,15 @@ export interface InterstitialPointDefectSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -26232,12 +26658,11 @@ export interface InterstitialPointDefectSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }, { /** @@ -26476,6 +26901,15 @@ export interface InterstitialPointDefectSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -26492,12 +26926,11 @@ export interface InterstitialPointDefectSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * @minItems 3 @@ -26762,6 +27195,15 @@ export interface SubstitutionalPointDefectSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -26778,12 +27220,11 @@ export interface SubstitutionalPointDefectSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }, { /** @@ -27022,6 +27463,15 @@ export interface SubstitutionalPointDefectSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -27038,12 +27488,11 @@ export interface SubstitutionalPointDefectSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * @minItems 3 @@ -27308,6 +27757,15 @@ export interface VacancyPointDefectSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -27324,12 +27782,11 @@ export interface VacancyPointDefectSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }, { /** @@ -27580,6 +28037,15 @@ export interface IdealCrystalSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -27596,12 +28062,11 @@ export interface IdealCrystalSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; } /** Schema dist/js/schema/materials_category/pristine_structures/two_dimensional/nanoribbon.json */ /** @@ -27897,6 +28362,15 @@ export interface NanoribbonConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -27913,12 +28387,11 @@ export interface NanoribbonConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -28170,6 +28643,15 @@ export interface NanoribbonConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -28186,12 +28668,11 @@ export interface NanoribbonConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -28458,6 +28939,15 @@ export interface NanoribbonConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -28474,12 +28964,11 @@ export interface NanoribbonConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -28789,6 +29278,15 @@ export interface NanoTapeConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -28805,12 +29303,11 @@ export interface NanoTapeConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -29062,6 +29559,15 @@ export interface NanoTapeConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -29078,12 +29584,11 @@ export interface NanoTapeConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -29376,6 +29881,15 @@ export interface SlabConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -29392,12 +29906,11 @@ export interface SlabConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -29649,6 +30162,15 @@ export interface SlabConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -29665,12 +30187,11 @@ export interface SlabConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -29975,6 +30496,15 @@ export interface SlabStrainedSupercellConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -29991,12 +30521,11 @@ export interface SlabStrainedSupercellConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -30248,6 +30777,15 @@ export interface SlabStrainedSupercellConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -30264,12 +30802,11 @@ export interface SlabStrainedSupercellConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -30533,6 +31070,15 @@ export interface PassivationConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -30549,12 +31095,11 @@ export interface PassivationConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; } | { /** * A crystal structure, referencing the base material schema @@ -30792,6 +31337,15 @@ export interface PassivationConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -30808,12 +31362,11 @@ export interface PassivationConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * @minItems 3 @@ -31062,6 +31615,15 @@ export interface PassivationConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -31078,12 +31640,11 @@ export interface PassivationConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; } | { /** * A crystal structure, referencing the base material schema @@ -31321,6 +31882,15 @@ export interface PassivationConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -31337,12 +31907,11 @@ export interface PassivationConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * @minItems 3 @@ -31591,6 +32160,15 @@ export interface PassivationConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -31607,12 +32185,11 @@ export interface PassivationConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; } | { /** * A crystal structure, referencing the base material schema @@ -31850,6 +32427,15 @@ export interface PassivationConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -31866,12 +32452,11 @@ export interface PassivationConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * @minItems 3 @@ -32190,6 +32775,15 @@ export interface CrystalSiteSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -32206,12 +32800,11 @@ export interface CrystalSiteSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * @minItems 3 @@ -32460,6 +33053,15 @@ export interface PointDefectSiteSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -32476,12 +33078,11 @@ export interface PointDefectSiteSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * @minItems 3 @@ -32738,6 +33339,15 @@ export interface VoidRegionSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -32754,12 +33364,11 @@ export interface VoidRegionSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Combined schema for all coordinate condition types @@ -33054,6 +33663,15 @@ export interface CrystalSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -33070,12 +33688,11 @@ export interface CrystalSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; } /** Schema dist/js/schema/materials_category_components/entities/core/three_dimensional/void.json */ /** @@ -33392,6 +34009,15 @@ export interface VacuumConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -33408,12 +34034,11 @@ export interface VacuumConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } /** Schema dist/js/schema/materials_category_components/entities/core/zero_dimensional/atom.json */ @@ -33681,6 +34306,15 @@ export interface CrystalLatticeLinesSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -33697,12 +34331,11 @@ export interface CrystalLatticeLinesSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -33991,6 +34624,15 @@ export interface CrystalLatticeLinesUniqueRepeatedSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -34007,12 +34649,11 @@ export interface CrystalLatticeLinesUniqueRepeatedSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -34260,6 +34901,15 @@ export interface CrystalLatticeBaseSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -34276,12 +34926,11 @@ export interface CrystalLatticeBaseSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -34537,6 +35186,15 @@ export interface NonUniformlyStrainedCrystalConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -34553,12 +35211,11 @@ export interface NonUniformlyStrainedCrystalConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * @minItems 3 @@ -34807,6 +35464,15 @@ export interface UniformlyStrainedCrystalConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -34823,12 +35489,11 @@ export interface UniformlyStrainedCrystalConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Percentage of uniform strain to apply to the crystal structure @@ -35076,6 +35741,15 @@ export interface SupercellConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -35092,12 +35766,11 @@ export interface SupercellConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * @minItems 3 @@ -35380,6 +36053,15 @@ export interface AtomicLayersSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -35396,12 +36078,11 @@ export interface AtomicLayersSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -35683,6 +36364,15 @@ export interface AtomicLayersUniqueSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -35699,12 +36389,11 @@ export interface AtomicLayersUniqueSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -35976,6 +36665,15 @@ export interface AtomicLayersUniqueRepeatedSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -35992,12 +36690,11 @@ export interface AtomicLayersUniqueRepeatedSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -36252,6 +36949,15 @@ export interface CrystalLatticePlanesSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -36268,12 +36974,11 @@ export interface CrystalLatticePlanesSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -36557,6 +37262,15 @@ export interface SlabStackConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -36573,12 +37287,11 @@ export interface SlabStackConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * Use the conventional cell for the crystal structure @@ -36830,6 +37543,15 @@ export interface SlabStackConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -36846,12 +37568,11 @@ export interface SlabStackConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -37119,6 +37840,15 @@ export interface SlabStackConfigurationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -37135,12 +37865,11 @@ export interface SlabStackConfigurationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; } ]; @@ -37440,6 +38169,15 @@ export interface PerturbationSchema { */ message: string; }[]; + metadata?: { + boundaryConditions?: { + /** + * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + */ + type: "pbc" | "bc1" | "bc2" | "bc3"; + offset: number; + }; + }; /** * entity identity */ @@ -37456,12 +38194,11 @@ export interface PerturbationSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - metadata?: {}; }; /** * A function that defines the perturbation (delta in coordinates) to be applied to the atomic coordinates. @@ -37570,7 +38307,7 @@ export interface CategorizedMethod { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -37583,7 +38320,7 @@ export interface CategorizedMethod { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -37684,7 +38421,7 @@ export interface CategorizedUnitMethod { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -42090,7 +42827,7 @@ export interface UnitMethodConjugateGradient { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -42186,7 +42923,7 @@ export interface UnitMethodDavidsonSchema { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -42542,7 +43279,7 @@ export interface UnitMethodRegression { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -42640,7 +43377,7 @@ export interface UnitMethodAoDunning { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -42749,7 +43486,7 @@ export interface UnitMethodAoOther { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -42854,7 +43591,7 @@ export interface UnitMethodAoPople { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -43264,7 +44001,7 @@ export interface UnitMethodPseudopotential { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -43360,7 +44097,7 @@ export interface UnitMethodPlaneWave { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -43456,7 +44193,7 @@ export interface UnitMethodSmearing { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -43549,7 +44286,7 @@ export interface UnitMethodTetrahedron { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -43644,7 +44381,7 @@ export interface CategorizedModel { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -43657,7 +44394,7 @@ export interface CategorizedModel { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -43812,7 +44549,7 @@ export interface CategorizedModel { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -44039,7 +44776,7 @@ export interface ModelWithoutMethodSchemaBase { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -45406,7 +46143,7 @@ export interface ModelDoubleHybridFunctional { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -45573,7 +46310,7 @@ export interface ModelGeneralizedGradientApproximation { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -45745,7 +46482,7 @@ export interface ModelGwApproximation { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -45912,7 +46649,7 @@ export interface ModelHybridFunctional { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -46079,7 +46816,7 @@ export interface ModelLocalDensityApproximation { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -46369,7 +47106,7 @@ export interface ModelMetaGeneralizedGradientApproximation { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -46529,7 +47266,7 @@ export interface ModelRegression { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ @@ -46570,7 +47307,7 @@ export interface ProjectSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -47302,10 +48039,98 @@ export interface WorkflowPropertySchema { * Contains the Units of the subworkflow */ units: ({ + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; /** * type of the unit */ type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; subtype: "input" | "output" | "dataFrame"; source: "api" | "db" | "object_storage"; input: ({ @@ -47383,36 +48208,12 @@ export interface WorkflowPropertySchema { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -47422,6 +48223,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -47429,54 +48234,74 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -47494,36 +48319,12 @@ export interface WorkflowPropertySchema { */ arguments: string[]; }[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -47533,6 +48334,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -47540,54 +48345,74 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -47621,36 +48446,12 @@ export interface WorkflowPropertySchema { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -47660,6 +48461,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -47667,75 +48472,57 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -47753,6 +48540,20 @@ export interface WorkflowPropertySchema { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; + } | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -47762,6 +48563,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -47769,79 +48574,75 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -47858,26 +48659,37 @@ export interface WorkflowPropertySchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 */ - applicationId?: string[]; + version: string; + /** + * Application build. e.g. VTST + */ + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -47891,6 +48703,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -47898,65 +48714,49 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -47973,7 +48773,7 @@ export interface WorkflowPropertySchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -47981,39 +48781,63 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -48021,36 +48845,12 @@ export interface WorkflowPropertySchema { input: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -48060,6 +48860,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -48067,54 +48871,75 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -48136,36 +48961,12 @@ export interface WorkflowPropertySchema { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -48175,6 +48976,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -48182,82 +48987,57 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "processing"; - /** - * Contains information about the operation used. - */ - operation: string; - /** - * Contains information about the specific type of the operation used. - */ - operationType: string; - /** - * unit input (type to be specified by the child units) - */ - inputData: { - [k: string]: unknown; - }; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -48276,63 +49056,19 @@ export interface WorkflowPropertySchema { enableRender?: boolean; context?: {}; /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation + * Contains information about the operation used. */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + operation: string; /** - * names of the results for this calculation + * Contains information about the specific type of the operation used. */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + operationType: string; /** - * entity tags + * unit input (type to be specified by the child units) */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; + inputData: { + [k: string]: unknown; + }; [k: string]: unknown; })[]; model: { @@ -48366,51 +49102,50 @@ export interface WorkflowPropertySchema { }; application: { /** - * The short name of the application. e.g. qe + * entity identity */ - shortName?: string; + _id?: string; /** - * Application's short description. + * entity slug */ - summary?: string; + slug?: string; + systemName?: string; /** - * Application version. e.g. 5.3.5 + * entity's schema version. Used to distinct between different schemas. */ - version?: string; + schemaVersion?: string; /** - * Application build. e.g. VTST + * entity name */ - build?: string; + name: string; /** - * Whether advanced compute options are present + * Identifies that entity is defaultable */ - hasAdvancedComputeOptions?: boolean; + isDefault?: boolean; /** - * Whether licensing is present + * The short name of the application. e.g. qe */ - isLicensed?: boolean; + shortName: string; /** - * entity identity + * Application's short description. */ - _id?: string; + summary: string; /** - * entity slug + * Application version. e.g. 5.3.5 */ - slug?: string; - systemName?: string; + version: string; /** - * entity's schema version. Used to distinct between different schemas. + * Application build. e.g. VTST */ - schemaVersion?: string; + build: string; /** - * entity name + * Whether advanced compute options are present */ - name?: string; + hasAdvancedComputeOptions?: boolean; /** - * Identifies that entity is defaultable + * Whether licensing is present */ - isDefault?: boolean; - [k: string]: unknown; + isLicensed?: boolean; }; /** * Defines whether to store the results/properties extracted in this unit to properties collection @@ -48538,53 +49273,141 @@ export interface WorkflowPropertySchema { */ units: ({ /** - * type of the unit + * entity identity */ - type: "io"; - subtype: "input" | "output" | "dataFrame"; - source: "api" | "db" | "object_storage"; - input: ({ - /** - * rest API endpoint - */ - endpoint: string; - /** - * rest API endpoint options - */ - endpoint_options: {}; + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { /** - * the name of the variable in local scope to save the data under + * The name of this item. e.g. scf_accuracy */ - name?: string; - [k: string]: unknown; - } | ({ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { /** - * IDs of item to retrieve from db + * The name of this item. e.g. scf_accuracy */ - ids: string[]; - [k: string]: unknown; - } | { + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { /** - * db collection name + * The name of this item. e.g. scf_accuracy */ - collection: string; + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { /** - * whether the result should be saved as draft + * The name of this item. e.g. scf_accuracy */ - draft: boolean; - [k: string]: unknown; - }) | { - objectData: { - /** - * Object storage container for the file - */ - CONTAINER?: string; - /** - * Name of the file inside the object storage bucket - */ - NAME?: string; - /** - * Object storage provider + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; + /** + * type of the unit + */ + type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + subtype: "input" | "output" | "dataFrame"; + source: "api" | "db" | "object_storage"; + input: ({ + /** + * rest API endpoint + */ + endpoint: string; + /** + * rest API endpoint options + */ + endpoint_options: {}; + /** + * the name of the variable in local scope to save the data under + */ + name?: string; + [k: string]: unknown; + } | ({ + /** + * IDs of item to retrieve from db + */ + ids: string[]; + [k: string]: unknown; + } | { + /** + * db collection name + */ + collection: string; + /** + * whether the result should be saved as draft + */ + draft: boolean; + [k: string]: unknown; + }) | { + objectData: { + /** + * Object storage container for the file + */ + CONTAINER?: string; + /** + * Name of the file inside the object storage bucket + */ + NAME?: string; + /** + * Object storage provider */ PROVIDER?: string; /** @@ -48618,36 +49441,12 @@ export interface WorkflowPropertySchema { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -48657,6 +49456,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -48664,54 +49467,74 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -48729,36 +49552,12 @@ export interface WorkflowPropertySchema { */ arguments: string[]; }[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -48768,6 +49567,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -48775,54 +49578,74 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -48856,36 +49679,12 @@ export interface WorkflowPropertySchema { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -48895,6 +49694,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -48902,75 +49705,57 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -48988,6 +49773,20 @@ export interface WorkflowPropertySchema { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; + } | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -48997,6 +49796,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -49004,79 +49807,75 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -49093,26 +49892,37 @@ export interface WorkflowPropertySchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 */ - applicationId?: string[]; + version: string; + /** + * Application build. e.g. VTST + */ + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -49126,6 +49936,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -49133,65 +49947,49 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -49208,7 +50006,7 @@ export interface WorkflowPropertySchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -49216,39 +50014,63 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -49256,36 +50078,12 @@ export interface WorkflowPropertySchema { input: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -49295,6 +50093,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -49302,54 +50104,75 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -49371,36 +50194,12 @@ export interface WorkflowPropertySchema { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -49410,6 +50209,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -49417,55 +50220,74 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "processing"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Contains information about the operation used. */ @@ -49480,36 +50302,12 @@ export interface WorkflowPropertySchema { inputData: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -49519,6 +50317,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -49526,54 +50328,74 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "map"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Id of workflow to run inside map */ @@ -49600,36 +50422,12 @@ export interface WorkflowPropertySchema { values?: (string | number | {})[]; useValues?: boolean; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -49639,6 +50437,10 @@ export interface WorkflowPropertySchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -49646,67 +50448,57 @@ export interface WorkflowPropertySchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "subworkflow"; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -49724,64 +50516,6 @@ export interface WorkflowPropertySchema { */ enableRender?: boolean; context?: {}; - /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation - */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the results for this calculation - */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * entity tags - */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; [k: string]: unknown; })[]; /** @@ -51117,10 +51851,98 @@ export interface PropertyHolderSchema { * Contains the Units of the subworkflow */ units: ({ + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; /** * type of the unit */ type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; subtype: "input" | "output" | "dataFrame"; source: "api" | "db" | "object_storage"; input: ({ @@ -51198,36 +52020,12 @@ export interface PropertyHolderSchema { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -51237,6 +52035,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -51244,54 +52046,74 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -51309,36 +52131,12 @@ export interface PropertyHolderSchema { */ arguments: string[]; }[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -51348,6 +52146,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -51355,54 +52157,74 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -51436,36 +52258,12 @@ export interface PropertyHolderSchema { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -51475,6 +52273,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -51482,75 +52284,57 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -51568,6 +52352,20 @@ export interface PropertyHolderSchema { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; + } | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -51577,6 +52375,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -51584,79 +52386,75 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -51673,26 +52471,37 @@ export interface PropertyHolderSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST */ - applicationId?: string[]; + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -51706,6 +52515,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -51713,65 +52526,49 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -51788,7 +52585,7 @@ export interface PropertyHolderSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -51796,39 +52593,63 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -51836,36 +52657,12 @@ export interface PropertyHolderSchema { input: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -51875,6 +52672,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -51882,54 +52683,75 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -51951,36 +52773,12 @@ export interface PropertyHolderSchema { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -51990,6 +52788,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -51997,82 +52799,57 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "processing"; - /** - * Contains information about the operation used. - */ - operation: string; - /** - * Contains information about the specific type of the operation used. - */ - operationType: string; - /** - * unit input (type to be specified by the child units) - */ - inputData: { - [k: string]: unknown; - }; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -52091,63 +52868,19 @@ export interface PropertyHolderSchema { enableRender?: boolean; context?: {}; /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation + * Contains information about the operation used. */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + operation: string; /** - * names of the results for this calculation + * Contains information about the specific type of the operation used. */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + operationType: string; /** - * entity tags + * unit input (type to be specified by the child units) */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; + inputData: { + [k: string]: unknown; + }; [k: string]: unknown; })[]; model: { @@ -52181,51 +52914,50 @@ export interface PropertyHolderSchema { }; application: { /** - * The short name of the application. e.g. qe + * entity identity */ - shortName?: string; + _id?: string; /** - * Application's short description. + * entity slug */ - summary?: string; + slug?: string; + systemName?: string; /** - * Application version. e.g. 5.3.5 + * entity's schema version. Used to distinct between different schemas. */ - version?: string; + schemaVersion?: string; /** - * Application build. e.g. VTST + * entity name */ - build?: string; + name: string; /** - * Whether advanced compute options are present + * Identifies that entity is defaultable */ - hasAdvancedComputeOptions?: boolean; + isDefault?: boolean; /** - * Whether licensing is present + * The short name of the application. e.g. qe */ - isLicensed?: boolean; + shortName: string; /** - * entity identity + * Application's short description. */ - _id?: string; + summary: string; /** - * entity slug + * Application version. e.g. 5.3.5 */ - slug?: string; - systemName?: string; + version: string; /** - * entity's schema version. Used to distinct between different schemas. + * Application build. e.g. VTST */ - schemaVersion?: string; + build: string; /** - * entity name + * Whether advanced compute options are present */ - name?: string; + hasAdvancedComputeOptions?: boolean; /** - * Identifies that entity is defaultable + * Whether licensing is present */ - isDefault?: boolean; - [k: string]: unknown; + isLicensed?: boolean; }; /** * Defines whether to store the results/properties extracted in this unit to properties collection @@ -52352,10 +53084,98 @@ export interface PropertyHolderSchema { * Contains the Units of the Workflow */ units: ({ + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; /** * type of the unit */ type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; subtype: "input" | "output" | "dataFrame"; source: "api" | "db" | "object_storage"; input: ({ @@ -52433,36 +53253,12 @@ export interface PropertyHolderSchema { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -52472,6 +53268,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -52479,54 +53279,74 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -52544,36 +53364,12 @@ export interface PropertyHolderSchema { */ arguments: string[]; }[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -52583,6 +53379,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -52590,54 +53390,74 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -52671,36 +53491,12 @@ export interface PropertyHolderSchema { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -52710,6 +53506,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -52717,75 +53517,57 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -52803,6 +53585,20 @@ export interface PropertyHolderSchema { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; + } | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -52812,6 +53608,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -52819,79 +53619,75 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -52908,26 +53704,37 @@ export interface PropertyHolderSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST */ - applicationId?: string[]; + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -52941,6 +53748,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -52948,65 +53759,49 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -53023,7 +53818,7 @@ export interface PropertyHolderSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -53031,39 +53826,63 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -53071,36 +53890,12 @@ export interface PropertyHolderSchema { input: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -53110,6 +53905,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -53117,54 +53916,75 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -53186,36 +54006,12 @@ export interface PropertyHolderSchema { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -53225,6 +54021,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -53232,55 +54032,74 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "processing"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Contains information about the operation used. */ @@ -53295,36 +54114,12 @@ export interface PropertyHolderSchema { inputData: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -53334,6 +54129,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -53341,54 +54140,74 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "map"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Id of workflow to run inside map */ @@ -53415,36 +54234,12 @@ export interface PropertyHolderSchema { values?: (string | number | {})[]; useValues?: boolean; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -53454,6 +54249,10 @@ export interface PropertyHolderSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -53461,67 +54260,57 @@ export interface PropertyHolderSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "subworkflow"; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -53539,64 +54328,6 @@ export interface PropertyHolderSchema { */ enableRender?: boolean; context?: {}; - /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation - */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the results for this calculation - */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * entity tags - */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; [k: string]: unknown; })[]; /** @@ -54078,22 +54809,43 @@ export interface PropertySourceSchema { } /** Schema dist/js/schema/software/application.json */ export interface ApplicationSchemaBase { + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; /** * The short name of the application. e.g. qe */ - shortName?: string; + shortName: string; /** * Application's short description. */ - summary?: string; + summary: string; /** * Application version. e.g. 5.3.5 */ - version?: string; + version: string; /** * Application build. e.g. VTST */ - build?: string; + build: string; /** * Whether advanced compute options are present */ @@ -54102,6 +54854,37 @@ export interface ApplicationSchemaBase { * Whether licensing is present */ isLicensed?: boolean; + [k: string]: unknown; +} +/** Schema dist/js/schema/software/application_properties.json */ +export interface ApplicationPropertiesSchema { + /** + * The short name of the application. e.g. qe + */ + shortName: string; + /** + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST + */ + build: string; + /** + * Whether advanced compute options are present + */ + hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; +} +/** Schema dist/js/schema/software/executable.json */ +export interface ExecutableSchema { /** * entity identity */ @@ -54118,15 +54901,58 @@ export interface ApplicationSchemaBase { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * _ids of the application this executable belongs to + */ + applicationId: string[]; + /** + * Whether advanced compute options are present + */ + hasAdvancedComputeOptions?: boolean; } -/** Schema dist/js/schema/software/executable.json */ -export interface ExecutableSchema { +/** Schema dist/js/schema/software/executable_properties.json */ +export interface ExecutablePropertiesSchema { /** * The name of the executable. e.g. pw.x */ @@ -54134,11 +54960,14 @@ export interface ExecutableSchema { /** * _ids of the application this executable belongs to */ - applicationId?: string[]; + applicationId: string[]; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; +} +/** Schema dist/js/schema/software/flavor.json */ +export interface FlavorSchema { /** * entity identity */ @@ -54152,6 +54981,10 @@ export interface ExecutableSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -54159,46 +54992,70 @@ export interface ExecutableSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; } -/** Schema dist/js/schema/software/flavor.json */ -export interface FlavorSchema { +/** Schema dist/js/schema/software/flavor_properties.json */ +export interface FlavorPropertiesSchema { /** * _id of the executable this flavor belongs to */ - executableId?: string; + executableId: string; /** * name of the executable this flavor belongs to */ @@ -54207,7 +55064,7 @@ export interface FlavorSchema { * name of the application this flavor belongs to */ applicationName?: string; - input?: { + input: { templateId?: string; templateName?: string; /** @@ -54219,6 +55076,9 @@ export interface FlavorSchema { * list of application versions this flavor supports */ supportedApplicationVersions?: string[]; +} +/** Schema dist/js/schema/software/template.json */ +export interface TemplateSchema { /** * entity identity */ @@ -54235,54 +55095,32 @@ export interface FlavorSchema { /** * entity name */ - name?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ + name: string; + applicationName: string; + applicationVersion?: string; + executableName: string; + contextProviders: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + isManuallyChanged?: boolean; /** - * names of the monitors for this calculation + * Content of the input file. e.g. &CONTROL calculation='scf' ... */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + content: string; /** - * names of the results for this calculation + * Rendered content of the input file. e.g. &CONTROL calculation='scf' ... */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + rendered?: string; } -/** Schema dist/js/schema/software/template.json */ -export interface TemplateSchema { - applicationName?: string; +/** Schema dist/js/schema/software/template_properties.json */ +export interface TemplatePropertiesSchema { + applicationName: string; applicationVersion?: string; - executableName?: string; - contextProviders?: { + executableName: string; + contextProviders: { /** * The name of this item. e.g. scf_accuracy */ @@ -54301,51 +55139,22 @@ export interface TemplateSchema { * Rendered content of the input file. e.g. &CONTROL calculation='scf' ... */ rendered?: string; - /** - * entity identity - */ - _id?: string; - /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; } /** Schema dist/js/schema/software_directory/modeling/deepmd.json */ export interface DeePMDAppSchema { /** * entity name */ - name?: "deepmd"; + name: "deepmd"; /** * Application's short description. */ - summary?: "DeePMD is a deep learning package that is based on neural network fitted first-principles data for many-body potential energy representation and molecular dynamics"; + summary: "DeePMD is a deep learning package that is based on neural network fitted first-principles data for many-body potential energy representation and molecular dynamics"; /** * Application version. e.g. 5.3.5 */ - version?: "2.0.2"; + version: "2.0.2"; exec?: "dp" | "lmp" | "python"; - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -54363,6 +55172,22 @@ export interface DeePMDAppSchema { * Identifies that entity is defaultable */ isDefault?: boolean; + /** + * The short name of the application. e.g. qe + */ + shortName: string; + /** + * Application build. e.g. VTST + */ + build: string; + /** + * Whether advanced compute options are present + */ + hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; [k: string]: unknown; } /** Schema dist/js/schema/software_directory/modeling/espresso/arguments.json */ @@ -54399,24 +55224,41 @@ export interface NWChem { /** * entity name */ - name?: "NWChem"; + name: "NWChem"; /** * Application's short description. */ - summary?: "NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations"; + summary: "NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations"; /** * Application version. e.g. 5.3.5 */ - version?: "6.6" | "7.0.2"; + version: "6.6" | "7.0.2"; exec?: "nwchem"; + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; /** * The short name of the application. e.g. qe */ - shortName?: string; + shortName: string; /** * Application build. e.g. VTST */ - build?: string; + build: string; /** * Whether advanced compute options are present */ @@ -54425,6 +55267,10 @@ export interface NWChem { * Whether licensing is present */ isLicensed?: boolean; + [k: string]: unknown; +} +/** Schema dist/js/schema/software_directory/modeling/unit/execution.json */ +export interface ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsingEspressoAsExample { /** * entity identity */ @@ -54438,43 +55284,86 @@ export interface NWChem { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; -} -/** Schema dist/js/schema/software_directory/modeling/unit/execution.json */ -export interface ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsingEspressoAsExample { /** - * type of the unit + * names of the pre-processors for this calculation */ - type: "execution"; - application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; + preProcessors: { /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 + * The name of this item. e.g. scf_accuracy */ - version?: string; + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { /** - * Application build. e.g. VTST + * The name of this item. e.g. scf_accuracy */ - build?: string; + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { /** - * Whether advanced compute options are present + * The name of this item. e.g. scf_accuracy */ - hasAdvancedComputeOptions?: boolean; + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { /** - * Whether licensing is present + * The name of this item. e.g. scf_accuracy */ - isLicensed?: boolean; + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; + /** + * type of the unit + */ + type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + application: { /** * entity identity */ @@ -54491,26 +55380,37 @@ export interface ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsing /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. */ - applicationId?: string[]; + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST + */ + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -54524,6 +55424,10 @@ export interface ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsing * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -54531,65 +55435,49 @@ export interface ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsing /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -54606,7 +55494,7 @@ export interface ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsing /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -54614,39 +55502,63 @@ export interface ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsing /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -54672,36 +55584,28 @@ export interface ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsing */ name?: string; })[]; + [k: string]: unknown; +} +/** Schema dist/js/schema/software_directory/modeling/vasp.json */ +export interface ViennaAbInitoSimulationPackage { /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. + * entity name */ - head?: boolean; + name: "vasp"; /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + * Application's short description. */ - flowchartId: string; + summary: "vienna ab-initio simulation package"; + flavor?: "vasp" | "vasp_nscf" | "vasp_bands"; /** - * Next unit's flowchartId. If empty, the current unit is the last. + * Application version. e.g. 5.3.5 */ - next?: string; + version: "5.3.5"; + exec?: "vasp"; /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + * entity identity */ - enableRender?: boolean; - context?: {}; + _id?: string; /** * entity slug */ @@ -54716,84 +55620,39 @@ export interface ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsing */ isDefault?: boolean; /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation + * The short name of the application. e.g. qe */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + shortName: string; /** - * names of the monitors for this calculation + * Application build. e.g. VTST */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + build: string; /** - * names of the results for this calculation + * Whether advanced compute options are present */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + hasAdvancedComputeOptions?: boolean; /** - * entity tags + * Whether licensing is present */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; + isLicensed?: boolean; [k: string]: unknown; } -/** Schema dist/js/schema/software_directory/modeling/vasp.json */ -export interface ViennaAbInitoSimulationPackage { +/** Schema dist/js/schema/software_directory/scripting/jupyter_lab.json */ +export interface JupyterLabApplicationSchema { /** * entity name */ - name?: "vasp"; + name: "jupyterLab"; + flavor?: "notebook"; /** * Application's short description. */ - summary?: "vienna ab-initio simulation package"; - flavor?: "vasp" | "vasp_nscf" | "vasp_bands"; + summary: "Jupyter Lab"; /** * Application version. e.g. 5.3.5 */ - version?: "5.3.5"; - exec?: "vasp"; - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; + version: "0.33.12"; + exec?: "jupyter"; /** * entity identity */ @@ -54811,32 +55670,14 @@ export interface ViennaAbInitoSimulationPackage { * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; -} -/** Schema dist/js/schema/software_directory/scripting/jupyter_lab.json */ -export interface JupyterLabApplicationSchema { - /** - * entity name - */ - name?: "jupyterLab"; - flavor?: "notebook"; - /** - * Application's short description. - */ - summary?: "Jupyter Lab"; - /** - * Application version. e.g. 5.3.5 - */ - version?: "0.33.12"; - exec?: "jupyter"; /** * The short name of the application. e.g. qe */ - shortName?: string; + shortName: string; /** * Application build. e.g. VTST */ - build?: string; + build: string; /** * Whether advanced compute options are present */ @@ -54845,23 +55686,6 @@ export interface JupyterLabApplicationSchema { * Whether licensing is present */ isLicensed?: boolean; - /** - * entity identity - */ - _id?: string; - /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; [k: string]: unknown; } /** Schema dist/js/schema/software_directory/scripting/python.json */ @@ -54869,16 +55693,16 @@ export interface PythonProgramingLanguageSchema { /** * entity name */ - name?: "python"; + name: "python"; flavor?: "python2" | "python3"; /** * Application's short description. */ - summary?: "Python Script"; + summary: "Python Script"; /** * Application version. e.g. 5.3.5 */ - version?: "2.7.5" | "3.6.1"; + version: "2.7.5" | "3.6.1"; exec?: "python"; /** * Optional arguments passed to the Python script @@ -54892,22 +55716,6 @@ export interface PythonProgramingLanguageSchema { * Optional Python dependencies, e.g. amqp==1.4.6 */ dependencies?: unknown[]; - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -54925,6 +55733,22 @@ export interface PythonProgramingLanguageSchema { * Identifies that entity is defaultable */ isDefault?: boolean; + /** + * The short name of the application. e.g. qe + */ + shortName: string; + /** + * Application build. e.g. VTST + */ + build: string; + /** + * Whether advanced compute options are present + */ + hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; [k: string]: unknown; } /** Schema dist/js/schema/software_directory/scripting/shell.json */ @@ -54932,16 +55756,16 @@ export interface ShellScriptingLanguageSchema { /** * entity name */ - name?: "shell"; + name: "shell"; flavor?: "sh" | "bash" | "zsh" | "csh"; /** * Application's short description. */ - summary?: "Shell Script"; + summary: "Shell Script"; /** * Application version. e.g. 5.3.5 */ - version?: "4.2.46"; + version: "4.2.46"; exec?: "sh" | "bash" | "zsh" | "csh"; /** * Optional arguments passed to the Shell script @@ -54951,14 +55775,31 @@ export interface ShellScriptingLanguageSchema { * Optional environment variables exported before running the Shell script */ environment?: {}; + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; /** * The short name of the application. e.g. qe */ - shortName?: string; + shortName: string; /** * Application build. e.g. VTST */ - build?: string; + build: string; /** * Whether advanced compute options are present */ @@ -54967,6 +55808,10 @@ export interface ShellScriptingLanguageSchema { * Whether licensing is present */ isLicensed?: boolean; + [k: string]: unknown; +} +/** Schema dist/js/schema/software_directory/scripting/unit/execution.json */ +export interface ExecutionUnitSchemaForScriptingBasedApplications { /** * entity identity */ @@ -54980,43 +55825,86 @@ export interface ShellScriptingLanguageSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; -} -/** Schema dist/js/schema/software_directory/scripting/unit/execution.json */ -export interface ExecutionUnitSchemaForScriptingBasedApplications { /** - * type of the unit + * names of the pre-processors for this calculation */ - type: "execution"; - application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; + preProcessors: { /** - * Application version. e.g. 5.3.5 + * The name of this item. e.g. scf_accuracy */ - version?: string; + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { /** - * Application build. e.g. VTST + * The name of this item. e.g. scf_accuracy */ - build?: string; + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { /** - * Whether advanced compute options are present + * The name of this item. e.g. scf_accuracy */ - hasAdvancedComputeOptions?: boolean; + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { /** - * Whether licensing is present + * The name of this item. e.g. scf_accuracy */ - isLicensed?: boolean; + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; + /** + * type of the unit + */ + type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + application: { /** * entity identity */ @@ -55033,26 +55921,37 @@ export interface ExecutionUnitSchemaForScriptingBasedApplications { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST */ - applicationId?: string[]; + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -55066,6 +55965,10 @@ export interface ExecutionUnitSchemaForScriptingBasedApplications { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -55073,65 +55976,49 @@ export interface ExecutionUnitSchemaForScriptingBasedApplications { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -55148,7 +56035,7 @@ export interface ExecutionUnitSchemaForScriptingBasedApplications { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -55156,152 +56043,88 @@ export interface ExecutionUnitSchemaForScriptingBasedApplications { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - /** - * unit input (type to be specified by the application's execution unit) - */ - input: ({ + }[]; /** - * Input file name. e.g. pw_scf.in + * _id of the executable this flavor belongs to */ - name: string; + executableId: string; /** - * Content of the input file. e.g. &CONTROL calculation='scf' ... + * name of the executable this flavor belongs to */ - content: string; + executableName?: string; /** - * Rendered content of the input file. e.g. &CONTROL calculation='scf' ... + * name of the application this flavor belongs to */ - rendered?: string; - } | { - templateId?: string; - templateName?: string; + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; /** - * name of the resulting input file, if different than template name + * list of application versions this flavor supports */ - name?: string; - })[]; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; - /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; + supportedApplicationVersions?: string[]; + }; /** - * names of the pre-processors for this calculation + * unit input (type to be specified by the application's execution unit) */ - preProcessors?: ({ + input: ({ /** - * The name of this item. e.g. scf_accuracy + * Input file name. e.g. pw_scf.in */ name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ /** - * The name of this item. e.g. scf_accuracy + * Content of the input file. e.g. &CONTROL calculation='scf' ... */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation - */ - monitors?: ({ + content: string; /** - * The name of this item. e.g. scf_accuracy + * Rendered content of the input file. e.g. &CONTROL calculation='scf' ... */ - name: string; - } | string)[]; - /** - * names of the results for this calculation - */ - results?: ({ + rendered?: string; + } | { + templateId?: string; + templateName?: string; /** - * The name of this item. e.g. scf_accuracy + * name of the resulting input file, if different than template name */ - name: string; - } | string)[]; - /** - * entity tags - */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; + name?: string; + })[]; [k: string]: unknown; } /** Schema dist/js/schema/system/_material.json */ @@ -55664,7 +56487,7 @@ export interface NameEntitySchema { /** * entity name */ - name?: string; + name: string; } /** Schema dist/js/schema/system/owner.json */ export interface EntityOwnerReferenceSchema { @@ -55693,12 +56516,58 @@ export interface PathEntitySchema { /** * entity name */ - name?: string; + name: string; /** * TODO: Use regex once schema draft version has been updated */ path?: string; } +/** Schema dist/js/schema/system/runtime_item.json */ +export interface RuntimeItemNameObjectSchema { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; +} +/** Schema dist/js/schema/system/runtime_items.json */ +export interface RuntimeItemsSchema { + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; +} /** Schema dist/js/schema/system/schema_version.json */ export interface SchemaVersion { /** @@ -55794,7 +56663,7 @@ export interface BaseWorkflowSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -55931,10 +56800,98 @@ export interface WorkflowScopeSchema { } /** Schema dist/js/schema/workflow/subworkflow/unit.json */ export type WorkflowSubworkflowUnitSchema = { + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; /** * type of the unit */ type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; subtype: "input" | "output" | "dataFrame"; source: "api" | "db" | "object_storage"; input: ({ @@ -56012,36 +56969,12 @@ export type WorkflowSubworkflowUnitSchema = { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; +} | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -56051,6 +56984,10 @@ export type WorkflowSubworkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -56058,54 +56995,74 @@ export type WorkflowSubworkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -56123,36 +57080,12 @@ export type WorkflowSubworkflowUnitSchema = { */ arguments: string[]; }[]; + [k: string]: unknown; +} | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -56162,6 +57095,10 @@ export type WorkflowSubworkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -56169,54 +57106,74 @@ export type WorkflowSubworkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -56250,36 +57207,12 @@ export type WorkflowSubworkflowUnitSchema = { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; +} | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -56289,6 +57222,10 @@ export type WorkflowSubworkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -56296,75 +57233,57 @@ export type WorkflowSubworkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -56382,6 +57301,20 @@ export type WorkflowSubworkflowUnitSchema = { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; +} | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -56391,6 +57324,10 @@ export type WorkflowSubworkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -56398,79 +57335,75 @@ export type WorkflowSubworkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -56487,26 +57420,37 @@ export type WorkflowSubworkflowUnitSchema = { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST */ - applicationId?: string[]; + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -56520,6 +57464,10 @@ export type WorkflowSubworkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -56527,65 +57475,49 @@ export type WorkflowSubworkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -56602,7 +57534,7 @@ export type WorkflowSubworkflowUnitSchema = { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -56610,39 +57542,63 @@ export type WorkflowSubworkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -56650,36 +57606,12 @@ export type WorkflowSubworkflowUnitSchema = { input: { [k: string]: unknown; }; + [k: string]: unknown; +} | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -56689,6 +57621,10 @@ export type WorkflowSubworkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -56696,54 +57632,75 @@ export type WorkflowSubworkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -56765,36 +57722,12 @@ export type WorkflowSubworkflowUnitSchema = { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; +} | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -56804,6 +57737,10 @@ export type WorkflowSubworkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -56811,82 +57748,57 @@ export type WorkflowSubworkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "processing"; - /** - * Contains information about the operation used. - */ - operation: string; - /** - * Contains information about the specific type of the operation used. - */ - operationType: string; - /** - * unit input (type to be specified by the child units) - */ - inputData: { - [k: string]: unknown; - }; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -56905,75 +57817,119 @@ export type WorkflowSubworkflowUnitSchema = { enableRender?: boolean; context?: {}; /** - * entity slug + * Contains information about the operation used. */ - slug?: string; - systemName?: string; + operation: string; /** - * entity's schema version. Used to distinct between different schemas. + * Contains information about the specific type of the operation used. */ - schemaVersion?: string; + operationType: string; /** - * Identifies that entity is defaultable + * unit input (type to be specified by the child units) */ - isDefault?: boolean; + inputData: { + [k: string]: unknown; + }; + [k: string]: unknown; +}; +/** Schema dist/js/schema/workflow/subworkflow.json */ +export interface Subworkflow { /** - * names of the pre-processors for this calculation + * Contains the Units of the subworkflow */ - preProcessors?: ({ + units: ({ /** - * The name of this item. e.g. scf_accuracy + * entity identity */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ + _id?: string; /** - * The name of this item. e.g. scf_accuracy + * entity slug */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation - */ - monitors?: ({ + slug?: string; + systemName?: string; /** - * The name of this item. e.g. scf_accuracy + * entity's schema version. Used to distinct between different schemas. */ - name: string; - } | string)[]; - /** - * names of the results for this calculation - */ - results?: ({ + schemaVersion?: string; /** - * The name of this item. e.g. scf_accuracy + * entity name */ name: string; - } | string)[]; - /** - * entity tags - */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; - [k: string]: unknown; -}; -/** Schema dist/js/schema/workflow/subworkflow.json */ -export interface Subworkflow { - /** - * Contains the Units of the subworkflow - */ - units: ({ + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; /** * type of the unit */ type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; subtype: "input" | "output" | "dataFrame"; source: "api" | "db" | "object_storage"; input: ({ @@ -57051,36 +58007,12 @@ export interface Subworkflow { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -57090,6 +58022,10 @@ export interface Subworkflow { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -57097,54 +58033,74 @@ export interface Subworkflow { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -57162,36 +58118,12 @@ export interface Subworkflow { */ arguments: string[]; }[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -57201,6 +58133,10 @@ export interface Subworkflow { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -57208,54 +58144,74 @@ export interface Subworkflow { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -57289,36 +58245,12 @@ export interface Subworkflow { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -57328,6 +58260,10 @@ export interface Subworkflow { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -57335,75 +58271,57 @@ export interface Subworkflow { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -57421,6 +58339,20 @@ export interface Subworkflow { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; + } | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -57430,6 +58362,10 @@ export interface Subworkflow { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -57437,79 +58373,75 @@ export interface Subworkflow { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -57526,26 +58458,37 @@ export interface Subworkflow { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST */ - applicationId?: string[]; + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -57559,6 +58502,10 @@ export interface Subworkflow { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -57566,65 +58513,49 @@ export interface Subworkflow { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -57641,7 +58572,7 @@ export interface Subworkflow { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -57649,39 +58580,63 @@ export interface Subworkflow { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -57689,36 +58644,12 @@ export interface Subworkflow { input: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -57728,6 +58659,10 @@ export interface Subworkflow { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -57735,54 +58670,75 @@ export interface Subworkflow { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -57804,36 +58760,12 @@ export interface Subworkflow { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -57843,6 +58775,10 @@ export interface Subworkflow { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -57850,82 +58786,57 @@ export interface Subworkflow { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "processing"; - /** - * Contains information about the operation used. - */ - operation: string; - /** - * Contains information about the specific type of the operation used. - */ - operationType: string; - /** - * unit input (type to be specified by the child units) - */ - inputData: { - [k: string]: unknown; - }; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -57944,63 +58855,19 @@ export interface Subworkflow { enableRender?: boolean; context?: {}; /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation + * Contains information about the operation used. */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + operation: string; /** - * names of the results for this calculation + * Contains information about the specific type of the operation used. */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + operationType: string; /** - * entity tags + * unit input (type to be specified by the child units) */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; + inputData: { + [k: string]: unknown; + }; [k: string]: unknown; })[]; model: { @@ -58033,30 +58900,6 @@ export interface Subworkflow { [k: string]: unknown; }; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -58073,22 +58916,45 @@ export interface Subworkflow { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - /** - * Defines whether to store the results/properties extracted in this unit to properties collection - */ - isDraft?: boolean; - /** - * subworkflow identity - */ - _id?: string; - /** + /** + * The short name of the application. e.g. qe + */ + shortName: string; + /** + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST + */ + build: string; + /** + * Whether advanced compute options are present + */ + hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + /** + * Defines whether to store the results/properties extracted in this unit to properties collection + */ + isDraft?: boolean; + /** + * subworkflow identity + */ + _id?: string; + /** * Human-readable name of the subworkflow. e.g. Total-energy */ name: string; @@ -58204,30 +59070,80 @@ export interface Subworkflow { /** Schema dist/js/schema/workflow/unit/assertion.json */ export interface AssertionUnitSchema { /** - * type of the unit + * entity identity */ - type: "assertion"; + _id?: string; /** - * The statement to be evaluated + * entity slug */ - statement: string; + slug?: string; + systemName?: string; /** - * The error message to be displayed if the assertion fails + * entity's schema version. Used to distinct between different schemas. */ - errorMessage?: string; + schemaVersion?: string; /** - * entity identity + * entity name */ - _id?: string; - isDraft?: boolean; + name: string; /** - * name of the unit. e.g. pw_scf + * Identifies that entity is defaultable */ - name: string; + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; /** * Status of the unit. */ status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; + /** + * type of the unit + */ + type: "assertion"; /** * Whether this unit is the first one to be executed. */ @@ -58245,6 +59161,22 @@ export interface AssertionUnitSchema { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; +} +/** Schema dist/js/schema/workflow/unit/assignment.json */ +export interface AssignmentUnitSchema { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -58254,6 +59186,10 @@ export interface AssertionUnitSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -58261,56 +59197,75 @@ export interface AssertionUnitSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} -/** Schema dist/js/schema/workflow/unit/assignment.json */ -export interface AssignmentUnitSchema { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -58332,36 +59287,14 @@ export interface AssignmentUnitSchema { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; +} +/** Schema dist/js/schema/workflow/unit/base.json */ +export interface WorkflowBaseUnitSchema { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -58371,6 +59304,10 @@ export interface AssignmentUnitSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -58378,70 +59315,57 @@ export interface AssignmentUnitSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; -} -/** Schema dist/js/schema/workflow/unit/base.json */ -export interface WorkflowBaseUnitSchema { - /** - * entity identity - */ - _id?: string; isDraft?: boolean; /** * type of the unit */ type: string; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -58459,6 +59383,14 @@ export interface WorkflowBaseUnitSchema { */ enableRender?: boolean; context?: {}; + [k: string]: unknown; +} +/** Schema dist/js/schema/workflow/unit/condition.json */ +export interface ConditionUnitSchema { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -58468,6 +59400,10 @@ export interface WorkflowBaseUnitSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -58475,56 +59411,74 @@ export interface WorkflowBaseUnitSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} -/** Schema dist/js/schema/workflow/unit/condition.json */ -export interface ConditionUnitSchema { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -58558,36 +59512,14 @@ export interface ConditionUnitSchema { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; +} +/** Schema dist/js/schema/workflow/unit/execution.json */ +export interface ExecutionUnitSchemaBase { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -58597,6 +59529,10 @@ export interface ConditionUnitSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -58604,81 +59540,75 @@ export interface ConditionUnitSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} -/** Schema dist/js/schema/workflow/unit/execution.json */ -export interface ExecutionUnitSchemaBase { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -58695,26 +59625,37 @@ export interface ExecutionUnitSchemaBase { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST */ - applicationId?: string[]; + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -58728,6 +59669,10 @@ export interface ExecutionUnitSchemaBase { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -58735,65 +59680,49 @@ export interface ExecutionUnitSchemaBase { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -58810,7 +59739,7 @@ export interface ExecutionUnitSchemaBase { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -58818,134 +59747,70 @@ export interface ExecutionUnitSchemaBase { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - /** - * unit input (type to be specified by the application's execution unit) - */ - input: { - [k: string]: unknown; - }; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; - /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ + }[]; /** - * The name of this item. e.g. scf_accuracy + * _id of the executable this flavor belongs to */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ + executableId: string; /** - * The name of this item. e.g. scf_accuracy + * name of the executable this flavor belongs to */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation - */ - monitors?: ({ + executableName?: string; /** - * The name of this item. e.g. scf_accuracy + * name of the application this flavor belongs to */ - name: string; - } | string)[]; - /** - * names of the results for this calculation - */ - results?: ({ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; /** - * The name of this item. e.g. scf_accuracy + * list of application versions this flavor supports */ - name: string; - } | string)[]; + supportedApplicationVersions?: string[]; + }; /** - * entity tags + * unit input (type to be specified by the application's execution unit) */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; + input: { + [k: string]: unknown; + }; [k: string]: unknown; } /** Schema dist/js/schema/workflow/unit/input/_input.json */ @@ -59102,23 +59967,111 @@ export interface ObjectStorageIoSchema { /** Schema dist/js/schema/workflow/unit/io.json */ export interface DataIOUnitSchema { /** - * type of the unit + * entity identity */ - type: "io"; - subtype: "input" | "output" | "dataFrame"; - source: "api" | "db" | "object_storage"; - input: ({ - /** - * rest API endpoint - */ - endpoint: string; - /** - * rest API endpoint options - */ - endpoint_options: {}; - /** - * the name of the variable in local scope to save the data under - */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; + /** + * type of the unit + */ + type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + subtype: "input" | "output" | "dataFrame"; + source: "api" | "db" | "object_storage"; + input: ({ + /** + * rest API endpoint + */ + endpoint: string; + /** + * rest API endpoint options + */ + endpoint_options: {}; + /** + * the name of the variable in local scope to save the data under + */ name?: string; [k: string]: unknown; } | ({ @@ -59182,36 +60135,14 @@ export interface DataIOUnitSchema { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; +} +/** Schema dist/js/schema/workflow/unit/map.json */ +export interface MapUnitSchema { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -59221,6 +60152,10 @@ export interface DataIOUnitSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -59228,56 +60163,74 @@ export interface DataIOUnitSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} -/** Schema dist/js/schema/workflow/unit/map.json */ -export interface MapUnitSchema { + isDraft?: boolean; /** * type of the unit */ type: "map"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Id of workflow to run inside map */ @@ -59304,11 +60257,52 @@ export interface MapUnitSchema { values?: (string | number | {})[]; useValues?: boolean; }; + [k: string]: unknown; +} +/** Schema dist/js/schema/workflow/unit/mixins/assertion.json */ +export interface AssertionUnitMixinSchema { + type?: "assertion"; /** - * entity identity + * The statement to be evaluated */ - _id?: string; + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; +} +/** Schema dist/js/schema/workflow/unit/mixins/assignment.json */ +export interface AssignmentUnitMixinSchema { + type?: "assignment"; + /** + * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + */ + input?: { + /** + * Scope of the variable. e.g. 'global' or 'flowchart_id_2' + */ + scope: string; + /** + * Name of the input data. e.g. total_energy + */ + name: string; + }[]; + /** + * Name of the global variable. e.g. 'x' + */ + operand: string; + /** + * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + */ + value: string | boolean | number; +} +/** Schema dist/js/schema/workflow/unit/mixins/base.json */ +export interface WorkflowBaseUnitMixinSchema { isDraft?: boolean; + /** + * type of the unit + */ + type: string; /** * name of the unit. e.g. pw_scf */ @@ -59334,72 +60328,366 @@ export interface MapUnitSchema { */ enableRender?: boolean; context?: {}; + [k: string]: unknown; +} +/** Schema dist/js/schema/workflow/unit/mixins/condition.json */ +export interface ConditionUnitMixinSchema { + type?: "condition"; /** - * entity slug + * Input information for condition. */ - slug?: string; - systemName?: string; + input: { + /** + * Scope of the variable. e.g. 'global' or 'flowchart_id_2' + */ + scope: string; + /** + * Name of the input data. e.g. total_energy + */ + name: string; + }[]; /** - * entity's schema version. Used to distinct between different schemas. + * Condition statement. e.g. 'abs(x-total_energy) < 1e-5' */ - schemaVersion?: string; + statement: string; /** - * Identifies that entity is defaultable + * Flowchart ID reference for `then` part of the condition. */ - isDefault?: boolean; + then: string; /** - * names of the pre-processors for this calculation + * Flowchart ID reference for `else` part of the condition. */ - preProcessors?: ({ + else: string; + /** + * Maximum occurrence of the condition, usable for loops. + */ + maxOccurrences: number; + /** + * Throw exception on reaching to maximum occurence. + */ + throwException?: boolean; +} +/** Schema dist/js/schema/workflow/unit/mixins/execution.json */ +export interface ExecutionUnitMixinSchema { + type?: "execution"; + application: { /** - * The name of this item. e.g. scf_accuracy + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name */ name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ /** - * The name of this item. e.g. scf_accuracy + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * The short name of the application. e.g. qe + */ + shortName: string; + /** + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST + */ + build: string; + /** + * Whether advanced compute options are present + */ + hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name */ name: string; - } | string)[]; - /** - * names of the monitors for this calculation - */ - monitors?: ({ /** - * The name of this item. e.g. scf_accuracy + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * _ids of the application this executable belongs to + */ + applicationId: string[]; + /** + * Whether advanced compute options are present + */ + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name */ name: string; - } | string)[]; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; + }; /** - * names of the results for this calculation + * unit input (type to be specified by the application's execution unit) */ - results?: ({ + input: { + [k: string]: unknown; + }; +} +/** Schema dist/js/schema/workflow/unit/mixins/io.json */ +export interface DataIOUnitMixinSchema { + type?: "io"; + subtype: "input" | "output" | "dataFrame"; + source: "api" | "db" | "object_storage"; + input: ({ /** - * The name of this item. e.g. scf_accuracy + * rest API endpoint */ - name: string; - } | string)[]; + endpoint: string; + /** + * rest API endpoint options + */ + endpoint_options: {}; + /** + * the name of the variable in local scope to save the data under + */ + name?: string; + [k: string]: unknown; + } | ({ + /** + * IDs of item to retrieve from db + */ + ids: string[]; + [k: string]: unknown; + } | { + /** + * db collection name + */ + collection: string; + /** + * whether the result should be saved as draft + */ + draft: boolean; + [k: string]: unknown; + }) | { + objectData: { + /** + * Object storage container for the file + */ + CONTAINER?: string; + /** + * Name of the file inside the object storage bucket + */ + NAME?: string; + /** + * Object storage provider + */ + PROVIDER?: string; + /** + * Region for the object container specified in Container + */ + REGION?: string; + /** + * Size of the file in bytes + */ + SIZE?: number; + /** + * Unix timestamp showing when the file was last modified + */ + TIMESTAMP?: string; + }; + /** + * if a file with the same filename already exists, whether to overwrite the old file + */ + overwrite?: boolean; + /** + * Relative path to the directory that contains the file. + */ + pathname?: string; + /** + * Basename of the file + */ + basename?: string; + /** + * What kind of file this is, e.g. image / text + */ + filetype?: string; + [k: string]: unknown; + })[]; +} +/** Schema dist/js/schema/workflow/unit/mixins/map.json */ +export interface MapUnitMixinSchema { + type?: "map"; /** - * entity tags + * Id of workflow to run inside map */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; - [k: string]: unknown; -} -/** Schema dist/js/schema/workflow/unit/processing.json */ -export interface ProcessingUnitSchema { + workflowId: string; /** - * type of the unit + * Input information for map. */ - type: "processing"; + input: { + /** + * Name of the target variable to substitute using the values below. e.g. K_POINTS + */ + target: string; + /** + * Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. + */ + scope?: string; + /** + * Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. + */ + name?: string; + /** + * Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution + */ + values?: (string | number | {})[]; + useValues?: boolean; + }; +} +/** Schema dist/js/schema/workflow/unit/mixins/processing.json */ +export interface ProcessingUnitMixinSchema { + type?: "processing"; /** * Contains information about the operation used. */ @@ -59414,36 +60702,38 @@ export interface ProcessingUnitSchema { inputData: { [k: string]: unknown; }; +} +/** Schema dist/js/schema/workflow/unit/mixins/reduce.json */ +export interface ReduceUnitMixinSchema { + type?: "reduce"; /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + * corresponding map unit flowchart ID */ - flowchartId: string; + mapFlowchartId: string; /** - * Next unit's flowchartId. If empty, the current unit is the last. + * input information for reduce unit */ - next?: string; + input: { + /** + * reduce operation, e.g. aggregate + */ + operation: string; + /** + * arguments which are passed to reduce operation function + */ + arguments: string[]; + }[]; +} +/** Schema dist/js/schema/workflow/unit/mixins/subworkflow.json */ +export interface SubworkflowUnitMixinSchema { + type?: "subworkflow"; +} +/** Schema dist/js/schema/workflow/unit/processing.json */ +export interface ProcessingUnitSchema { /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + * entity identity */ - enableRender?: boolean; - context?: {}; + _id?: string; /** * entity slug */ @@ -59453,6 +60743,10 @@ export interface ProcessingUnitSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -59460,86 +60754,57 @@ export interface ProcessingUnitSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} -/** Schema dist/js/schema/workflow/unit/reduce.json */ -export interface ReduceUnitSchema { - /** - * type of the unit - */ - type: "reduce"; - /** - * corresponding map unit flowchart ID - */ - mapFlowchartId: string; - /** - * input information for reduce unit - */ - input: { - /** - * reduce operation, e.g. aggregate - */ - operation: string; - /** - * arguments which are passed to reduce operation function - */ - arguments: string[]; - }[]; - /** - * entity identity - */ - _id?: string; isDraft?: boolean; /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. + * type of the unit */ - status?: "idle" | "active" | "warning" | "error" | "finished"; + type: "processing"; /** * Whether this unit is the first one to be executed. */ @@ -59557,6 +60822,28 @@ export interface ReduceUnitSchema { */ enableRender?: boolean; context?: {}; + /** + * Contains information about the operation used. + */ + operation: string; + /** + * Contains information about the specific type of the operation used. + */ + operationType: string; + /** + * unit input (type to be specified by the child units) + */ + inputData: { + [k: string]: unknown; + }; + [k: string]: unknown; +} +/** Schema dist/js/schema/workflow/unit/reduce.json */ +export interface ReduceUnitSchema { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -59566,6 +60853,10 @@ export interface ReduceUnitSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -59573,134 +60864,170 @@ export interface ReduceUnitSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; + isDraft?: boolean; + /** + * type of the unit + */ + type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + /** + * corresponding map unit flowchart ID + */ + mapFlowchartId: string; + /** + * input information for reduce unit + */ + input: { + /** + * reduce operation, e.g. aggregate + */ + operation: string; + /** + * arguments which are passed to reduce operation function + */ + arguments: string[]; + }[]; [k: string]: unknown; } -/** Schema dist/js/schema/workflow/unit/runtime/_runtime_item_full_object.json */ -export interface FullResultSchema { +/** Schema dist/js/schema/workflow/unit/subworkflow.json */ +export interface SubworkflowUnitSchema { /** - * The name of this item. e.g. 'my_custom_property. ' + * entity identity */ - name: string; -} -/** Schema dist/js/schema/workflow/unit/runtime/_runtime_item_name_object.json */ -export interface NameResultSchema { + _id?: string; /** - * The name of this item. e.g. scf_accuracy + * entity slug */ - name: string; -} -/** Schema dist/js/schema/workflow/unit/runtime/_runtime_item_string.json */ -/** - * name of runtime item in shortened notation - */ -export type RuntimeItemString = string; -/** Schema dist/js/schema/workflow/unit/runtime/runtime_item.json */ -export type RuntimeItemSchema = { + slug?: string; + systemName?: string; /** - * The name of this item. e.g. scf_accuracy + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name */ name: string; -} | string; -/** Schema dist/js/schema/workflow/unit/runtime/runtime_items.json */ -export interface RuntimeItemsSchemaPrePostProcessorsMonitorsResults { + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; -} -/** Schema dist/js/schema/workflow/unit/subworkflow.json */ -export interface SubworkflowUnitSchema { + }[]; /** - * type of the unit + * entity tags */ - type: "subworkflow"; + tags?: string[]; /** - * entity identity + * Status of the unit. */ - _id?: string; + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; isDraft?: boolean; /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. + * type of the unit */ - status?: "idle" | "active" | "warning" | "error" | "finished"; + type: "subworkflow"; /** * Whether this unit is the first one to be executed. */ @@ -59718,6 +61045,14 @@ export interface SubworkflowUnitSchema { */ enableRender?: boolean; context?: {}; + [k: string]: unknown; +} +/** Schema dist/js/schema/workflow/unit.json */ +export type WorkflowUnitSchema = { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -59727,6 +61062,10 @@ export interface SubworkflowUnitSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -59734,56 +61073,74 @@ export interface SubworkflowUnitSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} -/** Schema dist/js/schema/workflow/unit.json */ -export type WorkflowUnitSchema = { + isDraft?: boolean; + /** + * type of the unit + */ + type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; /** - * type of the unit + * Next unit's flowchartId. If empty, the current unit is the last. */ - type: "io"; + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; subtype: "input" | "output" | "dataFrame"; source: "api" | "db" | "object_storage"; input: ({ @@ -59861,36 +61218,12 @@ export type WorkflowUnitSchema = { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; +} | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -59900,6 +61233,10 @@ export type WorkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -59907,54 +61244,74 @@ export type WorkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -59972,36 +61329,12 @@ export type WorkflowUnitSchema = { */ arguments: string[]; }[]; + [k: string]: unknown; +} | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -60011,6 +61344,10 @@ export type WorkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -60018,54 +61355,74 @@ export type WorkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -60099,36 +61456,12 @@ export type WorkflowUnitSchema = { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; +} | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -60138,6 +61471,10 @@ export type WorkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -60145,75 +61482,57 @@ export type WorkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -60231,6 +61550,20 @@ export type WorkflowUnitSchema = { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; +} | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -60240,6 +61573,10 @@ export type WorkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -60247,79 +61584,75 @@ export type WorkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -60336,26 +61669,37 @@ export type WorkflowUnitSchema = { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 */ - applicationId?: string[]; + version: string; + /** + * Application build. e.g. VTST + */ + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -60369,6 +61713,10 @@ export type WorkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -60376,65 +61724,49 @@ export type WorkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -60451,7 +61783,7 @@ export type WorkflowUnitSchema = { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -60459,39 +61791,63 @@ export type WorkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -60499,36 +61855,12 @@ export type WorkflowUnitSchema = { input: { [k: string]: unknown; }; + [k: string]: unknown; +} | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -60538,6 +61870,10 @@ export type WorkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -60545,88 +61881,57 @@ export type WorkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; - /** - * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - */ - input?: { - /** - * Scope of the variable. e.g. 'global' or 'flowchart_id_2' - */ - scope: string; - /** - * Name of the input data. e.g. total_energy - */ - name: string; - }[]; - /** - * Name of the global variable. e.g. 'x' - */ - operand: string; - /** - * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - */ - value: string | boolean | number; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -60644,115 +61949,34 @@ export type WorkflowUnitSchema = { */ enableRender?: boolean; context?: {}; + scope?: string; /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation + * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ - monitors?: ({ + input?: { /** - * The name of this item. e.g. scf_accuracy + * Scope of the variable. e.g. 'global' or 'flowchart_id_2' */ - name: string; - } | string)[]; - /** - * names of the results for this calculation - */ - results?: ({ + scope: string; /** - * The name of this item. e.g. scf_accuracy + * Name of the input data. e.g. total_energy */ name: string; - } | string)[]; - /** - * entity tags - */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; }[]; - scope?: string; - [k: string]: unknown; -} | { - /** - * type of the unit - */ - type: "processing"; - /** - * Contains information about the operation used. - */ - operation: string; - /** - * Contains information about the specific type of the operation used. - */ - operationType: string; - /** - * unit input (type to be specified by the child units) - */ - inputData: { - [k: string]: unknown; - }; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + * Name of the global variable. e.g. 'x' */ - flowchartId: string; + operand: string; /** - * Next unit's flowchartId. If empty, the current unit is the last. + * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ - next?: string; + value: string | boolean | number; + [k: string]: unknown; +} | { /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + * entity identity */ - enableRender?: boolean; - context?: {}; + _id?: string; /** * entity slug */ @@ -60762,6 +61986,10 @@ export type WorkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -60769,93 +61997,57 @@ export type WorkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { - /** - * type of the unit - */ - type: "map"; - /** - * Id of workflow to run inside map - */ - workflowId: string; - /** - * Input information for map. - */ - input: { - /** - * Name of the target variable to substitute using the values below. e.g. K_POINTS - */ - target: string; - /** - * Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. - */ - scope?: string; - /** - * Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. - */ - name?: string; - /** - * Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution - */ - values?: (string | number | {})[]; - useValues?: boolean; - }; - /** - * entity identity - */ - _id?: string; isDraft?: boolean; /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. + * type of the unit */ - status?: "idle" | "active" | "warning" | "error" | "finished"; + type: "processing"; /** * Whether this unit is the first one to be executed. */ @@ -60873,6 +62065,26 @@ export type WorkflowUnitSchema = { */ enableRender?: boolean; context?: {}; + /** + * Contains information about the operation used. + */ + operation: string; + /** + * Contains information about the specific type of the operation used. + */ + operationType: string; + /** + * unit input (type to be specified by the child units) + */ + inputData: { + [k: string]: unknown; + }; + [k: string]: unknown; +} | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -60882,6 +62094,10 @@ export type WorkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -60889,67 +62105,57 @@ export type WorkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; -} | { - /** - * type of the unit - */ - type: "subworkflow"; - /** - * entity identity - */ - _id?: string; isDraft?: boolean; /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. + * type of the unit */ - status?: "idle" | "active" | "warning" | "error" | "finished"; + type: "map"; /** * Whether this unit is the first one to be executed. */ @@ -60967,6 +62173,38 @@ export type WorkflowUnitSchema = { */ enableRender?: boolean; context?: {}; + /** + * Id of workflow to run inside map + */ + workflowId: string; + /** + * Input information for map. + */ + input: { + /** + * Name of the target variable to substitute using the values below. e.g. K_POINTS + */ + target: string; + /** + * Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. + */ + scope?: string; + /** + * Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. + */ + name?: string; + /** + * Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution + */ + values?: (string | number | {})[]; + useValues?: boolean; + }; + [k: string]: unknown; +} | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -60976,6 +62214,10 @@ export type WorkflowUnitSchema = { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -60983,48 +62225,74 @@ export type WorkflowUnitSchema = { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; + isDraft?: boolean; + /** + * type of the unit + */ + type: "subworkflow"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; [k: string]: unknown; }; /** Schema dist/js/schema/workflow.json */ @@ -61037,10 +62305,98 @@ export interface WorkflowSchema { * Contains the Units of the subworkflow */ units: ({ + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; /** * type of the unit */ type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; subtype: "input" | "output" | "dataFrame"; source: "api" | "db" | "object_storage"; input: ({ @@ -61118,36 +62474,12 @@ export interface WorkflowSchema { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -61157,6 +62489,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -61164,54 +62500,74 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -61229,36 +62585,12 @@ export interface WorkflowSchema { */ arguments: string[]; }[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -61268,6 +62600,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -61275,54 +62611,74 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -61356,36 +62712,12 @@ export interface WorkflowSchema { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -61395,6 +62727,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -61402,75 +62738,57 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -61488,6 +62806,20 @@ export interface WorkflowSchema { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; + } | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -61497,6 +62829,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -61504,79 +62840,75 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; - application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + application: { /** * entity identity */ @@ -61593,26 +62925,37 @@ export interface WorkflowSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. + */ + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST */ - applicationId?: string[]; + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -61626,6 +62969,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -61633,65 +62980,49 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -61708,7 +63039,7 @@ export interface WorkflowSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -61716,39 +63047,63 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -61756,36 +63111,12 @@ export interface WorkflowSchema { input: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -61795,6 +63126,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -61802,54 +63137,75 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -61871,36 +63227,12 @@ export interface WorkflowSchema { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -61910,6 +63242,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -61917,82 +63253,57 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "processing"; - /** - * Contains information about the operation used. - */ - operation: string; - /** - * Contains information about the specific type of the operation used. - */ - operationType: string; - /** - * unit input (type to be specified by the child units) - */ - inputData: { - [k: string]: unknown; - }; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -62011,63 +63322,19 @@ export interface WorkflowSchema { enableRender?: boolean; context?: {}; /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation + * Contains information about the operation used. */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + operation: string; /** - * names of the results for this calculation + * Contains information about the specific type of the operation used. */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; + operationType: string; /** - * entity tags + * unit input (type to be specified by the child units) */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; + inputData: { + [k: string]: unknown; + }; [k: string]: unknown; })[]; model: { @@ -62101,51 +63368,50 @@ export interface WorkflowSchema { }; application: { /** - * The short name of the application. e.g. qe + * entity identity */ - shortName?: string; + _id?: string; /** - * Application's short description. + * entity slug */ - summary?: string; + slug?: string; + systemName?: string; /** - * Application version. e.g. 5.3.5 + * entity's schema version. Used to distinct between different schemas. */ - version?: string; + schemaVersion?: string; /** - * Application build. e.g. VTST + * entity name */ - build?: string; + name: string; /** - * Whether advanced compute options are present + * Identifies that entity is defaultable */ - hasAdvancedComputeOptions?: boolean; + isDefault?: boolean; /** - * Whether licensing is present + * The short name of the application. e.g. qe */ - isLicensed?: boolean; + shortName: string; /** - * entity identity + * Application's short description. */ - _id?: string; + summary: string; /** - * entity slug + * Application version. e.g. 5.3.5 */ - slug?: string; - systemName?: string; + version: string; /** - * entity's schema version. Used to distinct between different schemas. + * Application build. e.g. VTST */ - schemaVersion?: string; + build: string; /** - * entity name + * Whether advanced compute options are present */ - name?: string; + hasAdvancedComputeOptions?: boolean; /** - * Identifies that entity is defaultable + * Whether licensing is present */ - isDefault?: boolean; - [k: string]: unknown; + isLicensed?: boolean; }; /** * Defines whether to store the results/properties extracted in this unit to properties collection @@ -62272,10 +63538,98 @@ export interface WorkflowSchema { * Contains the Units of the Workflow */ units: ({ + /** + * entity identity + */ + _id?: string; + /** + * entity slug + */ + slug?: string; + systemName?: string; + /** + * entity's schema version. Used to distinct between different schemas. + */ + schemaVersion?: string; + /** + * entity name + */ + name: string; + /** + * Identifies that entity is defaultable + */ + isDefault?: boolean; + /** + * names of the pre-processors for this calculation + */ + preProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the post-processors for this calculation + */ + postProcessors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the monitors for this calculation + */ + monitors: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * names of the results for this calculation + */ + results: { + /** + * The name of this item. e.g. scf_accuracy + */ + name: string; + }[]; + /** + * entity tags + */ + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; /** * type of the unit */ type: "io"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; subtype: "input" | "output" | "dataFrame"; source: "api" | "db" | "object_storage"; input: ({ @@ -62353,36 +63707,12 @@ export interface WorkflowSchema { filetype?: string; [k: string]: unknown; })[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -62392,6 +63722,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -62399,54 +63733,74 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "reduce"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * corresponding map unit flowchart ID */ @@ -62464,36 +63818,12 @@ export interface WorkflowSchema { */ arguments: string[]; }[]; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -62503,6 +63833,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -62510,54 +63844,74 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; - [k: string]: unknown; - } | { + tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; + statusTrack?: { + trackedAt: number; + status: string; + repetition?: number; + }[]; + isDraft?: boolean; + /** + * type of the unit + */ + type: "condition"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; /** - * type of the unit + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit */ - type: "condition"; + enableRender?: boolean; + context?: {}; /** * Input information for condition. */ @@ -62591,36 +63945,12 @@ export interface WorkflowSchema { * Throw exception on reaching to maximum occurence. */ throwException?: boolean; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -62630,6 +63960,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -62637,75 +63971,57 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assertion"; - /** - * The statement to be evaluated - */ - statement: string; - /** - * The error message to be displayed if the assertion fails - */ - errorMessage?: string; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -62723,6 +64039,20 @@ export interface WorkflowSchema { */ enableRender?: boolean; context?: {}; + /** + * The statement to be evaluated + */ + statement: string; + /** + * The error message to be displayed if the assertion fails + */ + errorMessage?: string; + [k: string]: unknown; + } | { + /** + * entity identity + */ + _id?: string; /** * entity slug */ @@ -62732,6 +64062,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -62739,79 +64073,75 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "execution"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; application: { - /** - * The short name of the application. e.g. qe - */ - shortName?: string; - /** - * Application's short description. - */ - summary?: string; - /** - * Application version. e.g. 5.3.5 - */ - version?: string; - /** - * Application build. e.g. VTST - */ - build?: string; - /** - * Whether advanced compute options are present - */ - hasAdvancedComputeOptions?: boolean; - /** - * Whether licensing is present - */ - isLicensed?: boolean; /** * entity identity */ @@ -62828,26 +64158,37 @@ export interface WorkflowSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ isDefault?: boolean; - [k: string]: unknown; - }; - executable?: { /** - * The name of the executable. e.g. pw.x + * The short name of the application. e.g. qe */ - name: string; + shortName: string; /** - * _ids of the application this executable belongs to + * Application's short description. */ - applicationId?: string[]; + summary: string; + /** + * Application version. e.g. 5.3.5 + */ + version: string; + /** + * Application build. e.g. VTST + */ + build: string; /** * Whether advanced compute options are present */ hasAdvancedComputeOptions?: boolean; + /** + * Whether licensing is present + */ + isLicensed?: boolean; + }; + executable?: { /** * entity identity */ @@ -62861,6 +64202,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -62868,65 +64213,49 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; - }; - flavor?: { - /** - * _id of the executable this flavor belongs to - */ - executableId?: string; - /** - * name of the executable this flavor belongs to - */ - executableName?: string; + }[]; /** - * name of the application this flavor belongs to + * _ids of the application this executable belongs to */ - applicationName?: string; - input?: { - templateId?: string; - templateName?: string; - /** - * name of the resulting input file, if different than template name - */ - name?: string; - }[]; + applicationId: string[]; /** - * list of application versions this flavor supports + * Whether advanced compute options are present */ - supportedApplicationVersions?: string[]; + hasAdvancedComputeOptions?: boolean; + }; + flavor?: { /** * entity identity */ @@ -62943,7 +64272,7 @@ export interface WorkflowSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ @@ -62951,39 +64280,63 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; + /** + * _id of the executable this flavor belongs to + */ + executableId: string; + /** + * name of the executable this flavor belongs to + */ + executableName?: string; + /** + * name of the application this flavor belongs to + */ + applicationName?: string; + input: { + templateId?: string; + templateName?: string; + /** + * name of the resulting input file, if different than template name + */ + name?: string; + }[]; + /** + * list of application versions this flavor supports + */ + supportedApplicationVersions?: string[]; }; /** * unit input (type to be specified by the application's execution unit) @@ -62991,36 +64344,12 @@ export interface WorkflowSchema { input: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -63030,6 +64359,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -63037,54 +64370,75 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "assignment"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; + scope?: string; /** * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. */ @@ -63106,36 +64460,12 @@ export interface WorkflowSchema { * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) */ value: string | boolean | number; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -63145,6 +64475,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -63152,55 +64486,74 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - scope?: string; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "processing"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Contains information about the operation used. */ @@ -63215,36 +64568,12 @@ export interface WorkflowSchema { inputData: { [k: string]: unknown; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -63254,6 +64583,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -63261,54 +64594,74 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "map"; + /** + * Whether this unit is the first one to be executed. + */ + head?: boolean; + /** + * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + */ + flowchartId: string; + /** + * Next unit's flowchartId. If empty, the current unit is the last. + */ + next?: string; + /** + * Whether Rupy should attempt to use Jinja templating to add context variables into the unit + */ + enableRender?: boolean; + context?: {}; /** * Id of workflow to run inside map */ @@ -63335,36 +64688,12 @@ export interface WorkflowSchema { values?: (string | number | {})[]; useValues?: boolean; }; + [k: string]: unknown; + } | { /** * entity identity */ _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; - /** - * Whether this unit is the first one to be executed. - */ - head?: boolean; - /** - * Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - */ - flowchartId: string; - /** - * Next unit's flowchartId. If empty, the current unit is the last. - */ - next?: string; - /** - * Whether Rupy should attempt to use Jinja templating to add context variables into the unit - */ - enableRender?: boolean; - context?: {}; /** * entity slug */ @@ -63374,6 +64703,10 @@ export interface WorkflowSchema { * entity's schema version. Used to distinct between different schemas. */ schemaVersion?: string; + /** + * entity name + */ + name: string; /** * Identifies that entity is defaultable */ @@ -63381,67 +64714,57 @@ export interface WorkflowSchema { /** * names of the pre-processors for this calculation */ - preProcessors?: ({ + preProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the post-processors for this calculation */ - postProcessors?: ({ + postProcessors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the monitors for this calculation */ - monitors?: ({ + monitors: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * names of the results for this calculation */ - results?: ({ + results: { /** * The name of this item. e.g. scf_accuracy */ name: string; - } | string)[]; + }[]; /** * entity tags */ tags?: string[]; + /** + * Status of the unit. + */ + status?: "idle" | "active" | "warning" | "error" | "finished"; statusTrack?: { trackedAt: number; status: string; repetition?: number; }[]; - [k: string]: unknown; - } | { + isDraft?: boolean; /** * type of the unit */ type: "subworkflow"; - /** - * entity identity - */ - _id?: string; - isDraft?: boolean; - /** - * name of the unit. e.g. pw_scf - */ - name?: string; - /** - * Status of the unit. - */ - status?: "idle" | "active" | "warning" | "error" | "finished"; /** * Whether this unit is the first one to be executed. */ @@ -63459,64 +64782,6 @@ export interface WorkflowSchema { */ enableRender?: boolean; context?: {}; - /** - * entity slug - */ - slug?: string; - systemName?: string; - /** - * entity's schema version. Used to distinct between different schemas. - */ - schemaVersion?: string; - /** - * Identifies that entity is defaultable - */ - isDefault?: boolean; - /** - * names of the pre-processors for this calculation - */ - preProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the post-processors for this calculation - */ - postProcessors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the monitors for this calculation - */ - monitors?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * names of the results for this calculation - */ - results?: ({ - /** - * The name of this item. e.g. scf_accuracy - */ - name: string; - } | string)[]; - /** - * entity tags - */ - tags?: string[]; - statusTrack?: { - trackedAt: number; - status: string; - repetition?: number; - }[]; [k: string]: unknown; })[]; /** @@ -63547,7 +64812,7 @@ export interface WorkflowSchema { /** * entity name */ - name?: string; + name: string; /** * Identifies that entity is defaultable */ diff --git a/dist/py b/dist/py deleted file mode 120000 index 87dfd889e..000000000 --- a/dist/py +++ /dev/null @@ -1 +0,0 @@ -../src/py/mat3ra/esse/models \ No newline at end of file diff --git a/src/py/mat3ra/esse/models/apse/materials/materials_project/__init__.py b/dist/py/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/apse/materials/materials_project/__init__.py rename to dist/py/__init__.py diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/__init__.py b/dist/py/apse/db/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/__init__.py rename to dist/py/apse/db/__init__.py diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/__init__.py b/dist/py/apse/db/materials_project/2025_9.25/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/materials_category_components/entities/reusable/__init__.py rename to dist/py/apse/db/materials_project/2025_9.25/__init__.py diff --git a/src/py/mat3ra/esse/models/apse/materials/materials_project/summary.py b/dist/py/apse/db/materials_project/2025_9.25/summary.py similarity index 99% rename from src/py/mat3ra/esse/models/apse/materials/materials_project/summary.py rename to dist/py/apse/db/materials_project/2025_9.25/summary.py index 23ddd134e..df3fce3cb 100644 --- a/src/py/mat3ra/esse/models/apse/materials/materials_project/summary.py +++ b/dist/py/apse/db/materials_project/2025_9.25/summary.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: apse/materials/materials_project/summary.json +# filename: apse/db/materials_project/2025.9.25/summary.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/property/base/The_source_of_a_property/__init__.py b/dist/py/apse/db/materials_project/legacy/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/property/base/The_source_of_a_property/__init__.py rename to dist/py/apse/db/materials_project/legacy/__init__.py diff --git a/dist/py/apse/db/materials_project/legacy/material.py b/dist/py/apse/db/materials_project/legacy/material.py new file mode 100644 index 000000000..bf190cc7a --- /dev/null +++ b/dist/py/apse/db/materials_project/legacy/material.py @@ -0,0 +1,209 @@ +# generated by datamodel-codegen: +# filename: apse/db/materials_project/legacy/material.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel + + +class Spacegroup(BaseModel): + symprec: Optional[float] = None + source: Optional[str] = None + symbol: Optional[str] = None + number: Optional[int] = None + point_group: Optional[str] = None + crystal_system: Optional[str] = None + hall: Optional[str] = None + + +class Elasticity(BaseModel): + G_Reuss: Optional[float] = None + """ + Reuss shear modulus in GPa + """ + G_VRH: Optional[float] = None + """ + Voigt-Reuss-Hill shear modulus in GPa + """ + G_Voigt: Optional[float] = None + """ + Voigt shear modulus in GPa + """ + G_Voigt_Reuss_Hill: Optional[float] = None + """ + Voigt-Reuss-Hill shear modulus in GPa (alternative field) + """ + K_Reuss: Optional[float] = None + """ + Reuss bulk modulus in GPa + """ + K_VRH: Optional[float] = None + """ + Voigt-Reuss-Hill bulk modulus in GPa + """ + K_Voigt: Optional[float] = None + """ + Voigt bulk modulus in GPa + """ + K_Voigt_Reuss_Hill: Optional[float] = None + """ + Voigt-Reuss-Hill bulk modulus in GPa (alternative field) + """ + elastic_anisotropy: Optional[float] = None + """ + Elastic anisotropy + """ + elastic_tensor: Optional[List[List[float]]] = None + """ + 6x6 elastic tensor in GPa + """ + homogeneous_poisson: Optional[float] = None + """ + Homogeneous Poisson ratio + """ + poisson_ratio: Optional[float] = None + """ + Poisson ratio + """ + universal_anisotropy: Optional[float] = None + """ + Universal elastic anisotropy + """ + elastic_tensor_original: Optional[List[List[float]]] = None + """ + Original 6x6 elastic tensor in GPa + """ + compliance_tensor: Optional[List[List[float]]] = None + """ + 6x6 compliance tensor in GPa^-1 + """ + warnings: Optional[List[str]] = None + """ + Warnings about elastic properties + """ + nsites: Optional[int] = None + """ + Number of sites in the structure + """ + + +class MaterialsProjectLegacyMaterialSchema(BaseModel): + energy: float + """ + Total energy + """ + energy_per_atom: float + """ + Energy per atom + """ + volume: float + """ + Unit cell volume + """ + formation_energy_per_atom: float + """ + Formation energy per atom + """ + nsites: int + """ + Number of sites in unit cell + """ + unit_cell_formula: Dict[str, float] + """ + Unit cell formula as element counts + """ + pretty_formula: str + """ + Pretty formatted chemical formula + """ + is_hubbard: bool + """ + Whether Hubbard U correction was applied + """ + elements: List[str] + """ + List of elements in the material + """ + nelements: int + """ + Number of distinct elements + """ + e_above_hull: Optional[float] = None + """ + Energy above convex hull + """ + hubbards: Dict[str, Any] + """ + Hubbard U values + """ + is_compatible: bool + """ + Whether material is compatible + """ + spacegroup: Spacegroup + """ + Spacegroup information + """ + task_ids: List[str] + """ + List of task IDs + """ + band_gap: float + """ + Band gap value + """ + density: float + """ + Material density + """ + icsd_id: Optional[int] = None + """ + ICSD ID (single) + """ + icsd_ids: List[int] + """ + List of ICSD IDs + """ + cif: str + """ + CIF file content + """ + total_magnetization: float + """ + Total magnetization + """ + material_id: str + """ + Material ID from Materials Project + """ + oxide_type: str + """ + Oxide type classification + """ + tags: List[str] + """ + Material tags/names + """ + elasticity: Optional[Elasticity] = None + """ + Elasticity data + """ + piezo: Optional[Dict[str, Any]] = None + """ + Piezoelectric data + """ + diel: Optional[Dict[str, Any]] = None + """ + Dielectric data + """ + deprecated: bool + """ + Whether material is deprecated + """ + full_formula: str + """ + Full chemical formula + """ diff --git a/src/py/mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py b/dist/py/apse/db/nist_jarvis/2024_3.13/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py rename to dist/py/apse/db/nist_jarvis/2024_3.13/__init__.py diff --git a/dist/py/apse/db/nist_jarvis/2024_3.13/atoms.py b/dist/py/apse/db/nist_jarvis/2024_3.13/atoms.py new file mode 100644 index 000000000..8a61ee435 --- /dev/null +++ b/dist/py/apse/db/nist_jarvis/2024_3.13/atoms.py @@ -0,0 +1,41 @@ +# generated by datamodel-codegen: +# filename: apse/db/nist_jarvis/2024.3.13/atoms.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field, RootModel + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class NISTJARVISAtomsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + lattice_mat: Optional[List[ArrayOf3NumberElementsSchema]] = Field(None, max_length=3, min_length=3) + """ + Crystal lattice vectors as a 3x3 matrix, in Angstroms + """ + coords: Optional[List[ArrayOf3NumberElementsSchema]] = Field(None, min_length=1) + """ + Atomic coordinates for each atom in the unit cell + """ + elements: Optional[List[str]] = Field(None, min_length=1) + """ + Atomic elements for each atom in the unit cell in the same order as `coords` + """ + abc: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + angles: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + cartesian: Optional[bool] = None + """ + True if the coordinates are in Cartesian space, false if in fractional space + """ + props: Optional[List[str]] = None + """ + Additional properties for each of the atoms + """ diff --git a/dist/py/apse/db/nist_jarvis/2024_3.13/db_entry.py b/dist/py/apse/db/nist_jarvis/2024_3.13/db_entry.py new file mode 100644 index 000000000..fb1b0f285 --- /dev/null +++ b/dist/py/apse/db/nist_jarvis/2024_3.13/db_entry.py @@ -0,0 +1,55 @@ +# generated by datamodel-codegen: +# filename: apse/db/nist_jarvis/2024.3.13/db_entry.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field, RootModel + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class NISTJARVISAtomsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + lattice_mat: Optional[List[ArrayOf3NumberElementsSchema]] = Field(None, max_length=3, min_length=3) + """ + Crystal lattice vectors as a 3x3 matrix, in Angstroms + """ + coords: Optional[List[ArrayOf3NumberElementsSchema]] = Field(None, min_length=1) + """ + Atomic coordinates for each atom in the unit cell + """ + elements: Optional[List[str]] = Field(None, min_length=1) + """ + Atomic elements for each atom in the unit cell in the same order as `coords` + """ + abc: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + angles: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + cartesian: Optional[bool] = None + """ + True if the coordinates are in Cartesian space, false if in fractional space + """ + props: Optional[List[str]] = None + """ + Additional properties for each of the atoms + """ + + +class NISTJARVISDbEntrySchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + atoms: Optional[NISTJARVISAtomsSchema] = Field(None, title="NIST JARVIS Atoms schema") + """ + NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571 + """ + jid: Optional[str] = None + """ + The id of the entry in the database, e.g. JVASP-677 + """ diff --git a/dist/py/apse/db/third_party_sources.py b/dist/py/apse/db/third_party_sources.py new file mode 100644 index 000000000..1ff9fb831 --- /dev/null +++ b/dist/py/apse/db/third_party_sources.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: apse/db/third_party_sources.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class ThirdPartySources(BaseModel): + source: Source diff --git a/src/py/mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py b/dist/py/apse/file/applications/espresso/7.2/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py rename to dist/py/apse/file/applications/espresso/7.2/__init__.py diff --git a/src/py/mat3ra/esse/models/property/source/The_source_of_a_property/__init__.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/property/source/The_source_of_a_property/__init__.py rename to dist/py/apse/file/applications/espresso/7.2/pw.x/__init__.py diff --git a/dist/py/apse/file/applications/espresso/7.2/pw.x/atomic_positions.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/atomic_positions.py new file mode 100644 index 000000000..c104feb6b --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw.x/atomic_positions.py @@ -0,0 +1,51 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x/atomic_positions.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field, conint + + +class CardOption(Enum): + alat = "alat" + bohr = "bohr" + angstrom = "angstrom" + crystal = "crystal" + crystal_sg = "crystal_sg" + + +class Value(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom as specified in ATOMIC_SPECIES + """ + x: float + """ + atomic positions + """ + y: float + """ + atomic positions + """ + z: float + """ + atomic positions + """ + if_pos_1_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(1)", title="integer one or zero") + if_pos_2_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(2)", title="integer one or zero") + if_pos_3_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(3)", title="integer one or zero") + + +class AtomicPositionsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + card_option: Optional[CardOption] = "alat" + values: Optional[List[Value]] = None diff --git a/dist/py/apse/file/applications/espresso/7.2/pw.x/atomic_species.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/atomic_species.py new file mode 100644 index 000000000..8da561cf7 --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw.x/atomic_species.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x/atomic_species.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict + + +class Value(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters) + """ + Mass_X: Optional[float] = None + """ + mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided) + """ + PseudoPot_X: Optional[str] = None + """ + PseudoPot_X + """ + + +class AtomicSpeciesSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + values: Optional[List[Value]] = None diff --git a/dist/py/apse/file/applications/espresso/7.2/pw.x/cell.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/cell.py new file mode 100644 index 000000000..6c77563cd --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw.x/cell.py @@ -0,0 +1,111 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x/cell.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel + + +class CellDofree(Enum): + all = "all" + ibrav = "ibrav" + a = "a" + b = "b" + c = "c" + fixa = "fixa" + fixb = "fixb" + fixc = "fixc" + x = "x" + y = "y" + xy = "xy" + xz = "xz" + xyz = "xyz" + shape = "shape" + volume = "volume" + field_2Dxy = "2Dxy" + field_2Dshape = "2Dshape" + epitaxial_ab = "epitaxial_ab" + epitaxial_ac = "epitaxial_ac" + epitaxial_bc = "epitaxial_bc" + + +class CellDynamics(Enum): + none = "none" + sd = "sd" + damp_pr = "damp-pr" + damp_w = "damp-w" + bfgs = "bfgs" + + +class CellSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + press: Optional[float] = 0 + """ + Target pressure [KBar] in a variable-cell md or relaxation run. + """ + wmass: Optional[float] = None + """ + Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD + """ + cell_factor: Optional[float] = None + """ + Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise + """ + press_conv_thr: Optional[float] = 0.5 + """ + Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well). + """ + cell_dofree: Optional[CellDofree] = "all" + """ + Select which of the cell parameters should be moved + """ + cell_dynamics: Optional[CellDynamics] = "bfgs" + """ + CASE ( calculation == 'vc-relax' ) + """ + + +class CellDynamics1(Enum): + none = "none" + pr = "pr" + w = "w" + + +class CellSchema1(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + press: Optional[float] = 0 + """ + Target pressure [KBar] in a variable-cell md or relaxation run. + """ + wmass: Optional[float] = None + """ + Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD + """ + cell_factor: Optional[float] = None + """ + Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise + """ + press_conv_thr: Optional[float] = 0.5 + """ + Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well). + """ + cell_dofree: Optional[CellDofree] = "all" + """ + Select which of the cell parameters should be moved + """ + cell_dynamics: Optional[CellDynamics1] = None + """ + CASE ( calculation == 'vc-md' ) + """ + + +class ESSE(RootModel[Union[CellSchema, CellSchema1]]): + root: Union[CellSchema, CellSchema1] = Field(..., title="cell schema") diff --git a/dist/py/apse/file/applications/espresso/7.2/pw.x/cell_parameters.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/cell_parameters.py new file mode 100644 index 000000000..f85e3ad38 --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw.x/cell_parameters.py @@ -0,0 +1,36 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x/cell_parameters.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class CardOption(Enum): + alat = "alat" + bohr = "bohr" + angstrom = "angstrom" + + +class Values(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + v1: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + v2: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + v3: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + + +class CellParametersSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + card_option: Optional[CardOption] = None + """ + label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters) + """ + values: Optional[Values] = None diff --git a/dist/py/apse/file/applications/espresso/7.2/pw.x/control.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/control.py new file mode 100644 index 000000000..04a8e6ef6 --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw.x/control.py @@ -0,0 +1,169 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x/control.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, ConfigDict + + +class Calculation(Enum): + scf = "scf" + nscf = "nscf" + bands = "bands" + relax = "relax" + md = "md" + vc_relax = "vc-relax" + vc_md = "vc-md" + + +class Verbosity(Enum): + high = "high" + low = "low" + debug = "debug" + medium = "medium" + minimal = "minimal" + default = "default" + + +class RestartMode(Enum): + from_scratch = "from_scratch" + restart = "restart" + + +class DiskIo(Enum): + high = "high" + medium = "medium" + low = "low" + nowf = "nowf" + none = "none" + + +class ControlSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + calculation: Optional[Calculation] = "scf" + """ + A string describing the task to be performed + """ + title: Optional[str] = "" + """ + reprinted on output. + """ + verbosity: Optional[Verbosity] = "low" + """ + Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low' + """ + restart_mode: Optional[RestartMode] = "from_scratch" + wf_collect: Optional[bool] = None + """ + OBSOLETE - NO LONGER IMPLEMENTED + """ + nstep: Optional[float] = 1 + """ + Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick "dry run", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform "nstep" steps even if restarting from a previously interrupted calculation. + """ + iprint: Optional[float] = None + """ + band energies are written every iprint iterations + """ + tstress: Optional[bool] = False + """ + calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax' + """ + tprnfor: Optional[bool] = None + """ + calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md' + """ + dt: Optional[float] = 20 + """ + time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!) + """ + outdir: Optional[str] = None + """ + input, temporary, output files are found in this directory, see also wfcdir + """ + wfcdir: Optional[str] = None + """ + This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x. + """ + prefix: Optional[str] = "pwscf" + """ + prepended to input/output filenames: prefix.wfc, prefix.rho, etc. + """ + lkpoint_dir: Optional[bool] = None + """ + OBSOLETE - NO LONGER IMPLEMENTED + """ + max_seconds: Optional[float] = 10000000 + """ + Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues. + """ + etot_conv_thr: Optional[float] = 0.0001 + """ + Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied + """ + forc_conv_thr: Optional[float] = 0.001 + """ + Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied + """ + disk_io: Optional[DiskIo] = None + """ + Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option ) + """ + pseudo_dir: Optional[str] = None + """ + directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise + """ + tefield: Optional[bool] = False + """ + If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential. + """ + dipfield: Optional[bool] = False + """ + If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE. + """ + lelfield: Optional[bool] = False + """ + If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. ! + """ + nberrycyc: Optional[int] = 1 + """ + In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density + """ + lorbm: Optional[bool] = False + """ + If .TRUE. perform orbital magnetization calculation. + """ + lberry: Optional[bool] = False + """ + If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation + """ + gdir: Optional[float] = None + """ + For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) "gdir" is the direction of the field. + """ + nppstr: Optional[float] = None + """ + For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.). + """ + gate: Optional[bool] = False + """ + In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called "monopole" in v6.0 and 6.1 of pw.x + """ + twochem: Optional[bool] = False + """ + IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold. + """ + lfcp: Optional[bool] = False + """ + If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP. + """ + trism: Optional[bool] = False + """ + If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. . + """ diff --git a/dist/py/apse/file/applications/espresso/7.2/pw.x/electrons.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/electrons.py new file mode 100644 index 000000000..88a37324a --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw.x/electrons.py @@ -0,0 +1,139 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x/electrons.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class MixingMode(Enum): + plain = "plain" + TF = "TF" + local_TF = "local-TF" + + +class Diagonalization(Enum): + david = "david" + cg = "cg" + ppcg = "ppcg" + paro = "paro" + ParO = "ParO" + rmm_davidson = "rmm-davidson" + rmm_paro = "rmm-paro" + + +class EfieldPhase(Enum): + read = "read" + write = "write" + none = "none" + + +class Startingpot(Enum): + atomic = "atomic" + file = "file" + + +class Startingwfc(Enum): + atomic = "atomic" + atomic_random = "atomic+random" + random = "random" + file = "file" + + +class ElectronsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + electron_maxstep: Optional[int] = 100 + """ + maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops. + """ + exx_maxstep: Optional[int] = 100 + """ + maximum number of outer iterations in a scf calculation with exact exchange. + """ + scf_must_converge: Optional[bool] = True + """ + If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care. + """ + conv_thr: Optional[float] = None + adaptive_thr: Optional[bool] = False + """ + If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX. + """ + conv_thr_init: Optional[float] = None + """ + When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle. + """ + conv_thr_multi: Optional[float] = None + """ + When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx ) + """ + mixing_mode: Optional[MixingMode] = "plain" + mixing_beta: Optional[float] = None + """ + mixing factor for self-consistency + """ + mixing_ndim: Optional[int] = 8 + """ + number of iterations used in mixing scheme + """ + mixing_fixed_ns: Optional[int] = 0 + """ + For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term ). + """ + diagonalization: Optional[Diagonalization] = "david" + diago_thr_init: Optional[float] = None + """ + Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence). + """ + diago_cg_maxiter: Optional[int] = None + """ + For conjugate gradient diagonalization: max number of iterations + """ + diago_ppcg_maxiter: Optional[int] = None + """ + For ppcg diagonalization: max number of iterations + """ + diago_david_ndim: Optional[int] = 2 + """ + For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed). + """ + diago_rmm_ndim: Optional[int] = 4 + """ + For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed). + """ + diago_rmm_conv: Optional[bool] = False + """ + If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once. + """ + diago_gs_nblock: Optional[int] = 16 + """ + For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization + """ + diago_full_acc: Optional[bool] = False + """ + If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties). + """ + efield: Optional[float] = None + """ + Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic. + """ + efield_cart: Optional[List[float]] = Field( + None, max_length=3, min_length=3, title="array of 3 number elements schema" + ) + efield_phase: Optional[EfieldPhase] = "none" + startingpot: Optional[Startingpot] = None + startingwfc: Optional[Startingwfc] = "atomic+random" + tqr: Optional[bool] = False + """ + If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing! + """ + real_space: Optional[bool] = False + """ + If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing! + """ diff --git a/dist/py/apse/file/applications/espresso/7.2/pw.x/hubbard.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/hubbard.py new file mode 100644 index 000000000..0069f0524 --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw.x/hubbard.py @@ -0,0 +1,194 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x/hubbard.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class CardOption(Enum): + atomic = "atomic" + ortho_atomic = "ortho-atomic" + norm_atomic = "norm-atomic" + wf = "wf" + pseudo = "pseudo" + + +class U(Enum): + U = "U" + + +class Values(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + U_1: Optional[U] = Field(None, alias="U") + """ + string constant "U"; indicates the specs for the U parameter will be given + """ + label: Optional[str] = None + """ + label of the atom (as defined in ATOMIC_SPECIES) + """ + manifold: Optional[str] = None + """ + specs of the manifold (e.g., 3d, 2p...) + """ + u_val: Optional[float] = None + """ + value of the U parameter (in eV) + """ + + +class J0(Enum): + J0 = "J0" + + +class Values2(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + J0_1: Optional[J0] = Field(None, alias="J0") + """ + string constant "J0"; indicates the specs for the J0 parameter will be given + """ + label: Optional[str] = None + """ + label of the atom (as defined in ATOMIC_SPECIES) + """ + manifold: Optional[str] = None + """ + specs of the manifold (e.g., 3d, 2p...) + """ + j0_val: Optional[float] = None + """ + value of the J0 parameter (in eV) + """ + + +class ParamType(Enum): + U = "U" + J = "J" + B = "B" + E2 = "E2" + E3 = "E3" + + +class Value(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + paramType: Optional[ParamType] = None + """ + character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals) + """ + label: Optional[str] = None + """ + label of the atom (as defined in ATOMIC_SPECIES) + """ + manifold: Optional[str] = None + """ + specs of the manifold (e.g., 3d, 2p...) + """ + paramValue: Optional[float] = None + """ + value of the J0 parameter (in eV) + """ + + +class Values3(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + U_1: Optional[U] = Field(None, alias="U") + """ + string constant "U"; indicates the specs for the U parameter will be given + """ + label: Optional[str] = None + """ + label of the atom (as defined in ATOMIC_SPECIES) + """ + manifold: Optional[str] = None + """ + specs of the manifold (e.g., 3d, 2p...) + """ + u_val: Optional[float] = None + """ + value of the U parameter (in eV) + """ + + +class Values4(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + J0_1: Optional[J0] = Field(None, alias="J0") + """ + string constant "J0"; indicates the specs for the J0 parameter will be given + """ + label: Optional[str] = None + """ + label of the atom (as defined in ATOMIC_SPECIES) + """ + manifold: Optional[str] = None + """ + specs of the manifold (e.g., 3d, 2p...) + """ + j0_val: Optional[float] = None + """ + value of the J0 parameter (in eV) + """ + + +class V(Enum): + V = "V" + + +class Values5(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + V_1: Optional[V] = Field(None, alias="V") + """ + string constant "V"; indicates the specs for the V parameter will be given + """ + label_I_: Optional[str] = Field(None, alias="label(I)") + """ + label of the atom I (as defined in ATOMIC_SPECIES) + """ + manifold_I_: Optional[str] = Field(None, alias="manifold(I)") + """ + specs of the manifold for atom I (e.g., 3d, 2p...) + """ + label_J_: Optional[str] = Field(None, alias="label(J)") + """ + label of the atom J (as defined in ATOMIC_SPECIES) + """ + manifold_J_: Optional[str] = Field(None, alias="manifold(J)") + """ + specs of the manifold for atom J (e.g., 3d, 2p...) + """ + I: Optional[int] = None + """ + index of the atom I + """ + J: Optional[int] = None + """ + index of the atom J + """ + v_val_I_J_: Optional[float] = Field(None, alias="v_val(I,J)") + """ + value of the V parameter for the atom pair I,J (in eV) + """ + + +class HubbardSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + card_option: Optional[CardOption] = None + values: Optional[Union[List[Union[Values, Values2]], List[Value], List[Union[Values3, Values4, Values5]]]] = None diff --git a/dist/py/apse/file/applications/espresso/7.2/pw.x/ions.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/ions.py new file mode 100644 index 000000000..f2d39f649 --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw.x/ions.py @@ -0,0 +1,422 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x/ions.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel + + +class IonPositions(Enum): + default = "default" + from_input = "from_input" + + +class IonVelocities(Enum): + default = "default" + from_input = "from_input" + + +class PotExtrapolation(Enum): + none = "none" + atomic = "atomic" + first_order = "first_order" + second_order = "second_order" + + +class WfcExtrapolation(Enum): + none = "none" + first_order = "first_order" + second_order = "second_order" + + +class IonTemperature(Enum): + rescaling = "rescaling" + rescale_v = "rescale-v" + rescale_T = "rescale-T" + reduce_T = "reduce-T" + berendsen = "berendsen" + andersen = "andersen" + svr = "svr" + initial = "initial" + not_controlled = "not_controlled" + + +class IonDynamics(Enum): + bfgs = "bfgs" + damp = "damp" + fire = "fire" + + +class IonsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ion_positions: Optional[IonPositions] = "default" + ion_velocities: Optional[IonVelocities] = "default" + pot_extrapolation: Optional[PotExtrapolation] = "atomic" + """ + Used to extrapolate the potential from preceding ionic steps. + """ + wfc_extrapolation: Optional[WfcExtrapolation] = "none" + """ + Used to extrapolate the wavefunctions from preceding ionic steps. + """ + remove_rigid_rot: Optional[bool] = False + """ + This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells. + """ + ion_temperature: Optional[IonTemperature] = "not_controlled" + tempw: Optional[float] = 300 + """ + Starting temperature (Kelvin) in MD runs target temperature for most thermostats. + """ + tolp: Optional[float] = 100 + """ + Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp. + """ + delta_t: Optional[float] = 1 + nraise: Optional[int] = 1 + refold_pos: Optional[bool] = False + """ + This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell. + """ + upscale: Optional[float] = 100 + """ + Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale. + """ + bfgs_ndim: Optional[int] = 1 + """ + Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm. + """ + trust_radius_max: Optional[float] = 0.8 + """ + Maximum ionic displacement in the structural relaxation. (bfgs only) + """ + trust_radius_min: Optional[float] = 0.001 + """ + Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only) + """ + trust_radius_ini: Optional[float] = 0.5 + """ + Initial ionic displacement in the structural relaxation. (bfgs only) + """ + w_1: Optional[float] = 0.01 + w_2: Optional[float] = 0.5 + """ + Parameters used in line search based on the Wolfe conditions. (bfgs only) + """ + fire_alpha_init: Optional[float] = 0.2 + """ + Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3 + """ + fire_falpha: Optional[float] = 0.99 + """ + Scaling of the alpha mixing parameter for steps with P > 0; + """ + fire_nmin: Optional[int] = 5 + """ + Minimum number of steps with P > 0 before increase of dt + """ + fire_f_inc: Optional[float] = 1.1 + """ + Factor for increasing dt + """ + fire_f_dec: Optional[float] = 0.5 + """ + Factor for decreasing dt + """ + fire_dtmax: Optional[float] = 10 + """ + Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt + """ + ion_dynamics: Optional[IonDynamics] = "bfgs" + """ + CASE: calculation == 'relax' + """ + + +class IonDynamics1(Enum): + verlet = "verlet" + langevin = "langevin" + langevin_smc = "langevin-smc" + + +class IonsSchema1(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ion_positions: Optional[IonPositions] = "default" + ion_velocities: Optional[IonVelocities] = "default" + pot_extrapolation: Optional[PotExtrapolation] = "atomic" + """ + Used to extrapolate the potential from preceding ionic steps. + """ + wfc_extrapolation: Optional[WfcExtrapolation] = "none" + """ + Used to extrapolate the wavefunctions from preceding ionic steps. + """ + remove_rigid_rot: Optional[bool] = False + """ + This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells. + """ + ion_temperature: Optional[IonTemperature] = "not_controlled" + tempw: Optional[float] = 300 + """ + Starting temperature (Kelvin) in MD runs target temperature for most thermostats. + """ + tolp: Optional[float] = 100 + """ + Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp. + """ + delta_t: Optional[float] = 1 + nraise: Optional[int] = 1 + refold_pos: Optional[bool] = False + """ + This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell. + """ + upscale: Optional[float] = 100 + """ + Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale. + """ + bfgs_ndim: Optional[int] = 1 + """ + Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm. + """ + trust_radius_max: Optional[float] = 0.8 + """ + Maximum ionic displacement in the structural relaxation. (bfgs only) + """ + trust_radius_min: Optional[float] = 0.001 + """ + Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only) + """ + trust_radius_ini: Optional[float] = 0.5 + """ + Initial ionic displacement in the structural relaxation. (bfgs only) + """ + w_1: Optional[float] = 0.01 + w_2: Optional[float] = 0.5 + """ + Parameters used in line search based on the Wolfe conditions. (bfgs only) + """ + fire_alpha_init: Optional[float] = 0.2 + """ + Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3 + """ + fire_falpha: Optional[float] = 0.99 + """ + Scaling of the alpha mixing parameter for steps with P > 0; + """ + fire_nmin: Optional[int] = 5 + """ + Minimum number of steps with P > 0 before increase of dt + """ + fire_f_inc: Optional[float] = 1.1 + """ + Factor for increasing dt + """ + fire_f_dec: Optional[float] = 0.5 + """ + Factor for decreasing dt + """ + fire_dtmax: Optional[float] = 10 + """ + Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt + """ + ion_dynamics: Optional[IonDynamics1] = "verlet" + """ + CASE: calculation == 'md' + """ + + +class IonDynamics2(Enum): + bfgs = "bfgs" + damp = "damp" + + +class IonsSchema2(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ion_positions: Optional[IonPositions] = "default" + ion_velocities: Optional[IonVelocities] = "default" + pot_extrapolation: Optional[PotExtrapolation] = "atomic" + """ + Used to extrapolate the potential from preceding ionic steps. + """ + wfc_extrapolation: Optional[WfcExtrapolation] = "none" + """ + Used to extrapolate the wavefunctions from preceding ionic steps. + """ + remove_rigid_rot: Optional[bool] = False + """ + This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells. + """ + ion_temperature: Optional[IonTemperature] = "not_controlled" + tempw: Optional[float] = 300 + """ + Starting temperature (Kelvin) in MD runs target temperature for most thermostats. + """ + tolp: Optional[float] = 100 + """ + Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp. + """ + delta_t: Optional[float] = 1 + nraise: Optional[int] = 1 + refold_pos: Optional[bool] = False + """ + This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell. + """ + upscale: Optional[float] = 100 + """ + Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale. + """ + bfgs_ndim: Optional[int] = 1 + """ + Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm. + """ + trust_radius_max: Optional[float] = 0.8 + """ + Maximum ionic displacement in the structural relaxation. (bfgs only) + """ + trust_radius_min: Optional[float] = 0.001 + """ + Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only) + """ + trust_radius_ini: Optional[float] = 0.5 + """ + Initial ionic displacement in the structural relaxation. (bfgs only) + """ + w_1: Optional[float] = 0.01 + w_2: Optional[float] = 0.5 + """ + Parameters used in line search based on the Wolfe conditions. (bfgs only) + """ + fire_alpha_init: Optional[float] = 0.2 + """ + Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3 + """ + fire_falpha: Optional[float] = 0.99 + """ + Scaling of the alpha mixing parameter for steps with P > 0; + """ + fire_nmin: Optional[int] = 5 + """ + Minimum number of steps with P > 0 before increase of dt + """ + fire_f_inc: Optional[float] = 1.1 + """ + Factor for increasing dt + """ + fire_f_dec: Optional[float] = 0.5 + """ + Factor for decreasing dt + """ + fire_dtmax: Optional[float] = 10 + """ + Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt + """ + ion_dynamics: Optional[IonDynamics2] = "bfgs" + """ + CASE: calculation == 'vc-relax' + """ + + +class IonDynamics3(Enum): + beeman = "beeman" + + +class IonsSchema3(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ion_positions: Optional[IonPositions] = "default" + ion_velocities: Optional[IonVelocities] = "default" + pot_extrapolation: Optional[PotExtrapolation] = "atomic" + """ + Used to extrapolate the potential from preceding ionic steps. + """ + wfc_extrapolation: Optional[WfcExtrapolation] = "none" + """ + Used to extrapolate the wavefunctions from preceding ionic steps. + """ + remove_rigid_rot: Optional[bool] = False + """ + This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells. + """ + ion_temperature: Optional[IonTemperature] = "not_controlled" + tempw: Optional[float] = 300 + """ + Starting temperature (Kelvin) in MD runs target temperature for most thermostats. + """ + tolp: Optional[float] = 100 + """ + Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp. + """ + delta_t: Optional[float] = 1 + nraise: Optional[int] = 1 + refold_pos: Optional[bool] = False + """ + This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell. + """ + upscale: Optional[float] = 100 + """ + Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale. + """ + bfgs_ndim: Optional[int] = 1 + """ + Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm. + """ + trust_radius_max: Optional[float] = 0.8 + """ + Maximum ionic displacement in the structural relaxation. (bfgs only) + """ + trust_radius_min: Optional[float] = 0.001 + """ + Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only) + """ + trust_radius_ini: Optional[float] = 0.5 + """ + Initial ionic displacement in the structural relaxation. (bfgs only) + """ + w_1: Optional[float] = 0.01 + w_2: Optional[float] = 0.5 + """ + Parameters used in line search based on the Wolfe conditions. (bfgs only) + """ + fire_alpha_init: Optional[float] = 0.2 + """ + Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3 + """ + fire_falpha: Optional[float] = 0.99 + """ + Scaling of the alpha mixing parameter for steps with P > 0; + """ + fire_nmin: Optional[int] = 5 + """ + Minimum number of steps with P > 0 before increase of dt + """ + fire_f_inc: Optional[float] = 1.1 + """ + Factor for increasing dt + """ + fire_f_dec: Optional[float] = 0.5 + """ + Factor for decreasing dt + """ + fire_dtmax: Optional[float] = 10 + """ + Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt + """ + ion_dynamics: Optional[IonDynamics3] = "beeman" + """ + CASE: calculation == 'vc-md' + """ + + +class ESSE(RootModel[Union[IonsSchema, IonsSchema1, IonsSchema2, IonsSchema3]]): + root: Union[IonsSchema, IonsSchema1, IonsSchema2, IonsSchema3] = Field(..., title="ions schema") diff --git a/dist/py/apse/file/applications/espresso/7.2/pw.x/k_points.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/k_points.py new file mode 100644 index 000000000..06f06a7cb --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw.x/k_points.py @@ -0,0 +1,73 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x/k_points.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, ConfigDict + + +class CardOption(Enum): + tpiba = "tpiba" + automatic = "automatic" + crystal = "crystal" + gamma = "gamma" + tpiba_b = "tpiba_b" + crystal_b = "crystal_b" + tpiba_c = "tpiba_c" + crystal_c = "crystal_c" + + +class Value(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nks: Optional[int] = None + """ + Number of supplied special k-points. + """ + xk_x: Optional[float] = None + xk_y: Optional[float] = None + xk_z: Optional[float] = None + wk: Optional[float] = None + + +class Values(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nk1: Optional[int] = None + """ + Number of supplied special k-points. + """ + nk2: Optional[int] = None + """ + Number of supplied special k-points. + """ + nk3: Optional[int] = None + """ + Number of supplied special k-points. + """ + sk1: Optional[int] = None + """ + Number of supplied special k-points. + """ + sk2: Optional[int] = None + """ + Number of supplied special k-points. + """ + sk3: Optional[int] = None + """ + Number of supplied special k-points. + """ + + +class KPointsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + card_option: Optional[CardOption] = None + values: Optional[Union[List[Value], Values]] = None diff --git a/dist/py/apse/file/applications/espresso/7.2/pw.x/system.py b/dist/py/apse/file/applications/espresso/7.2/pw.x/system.py new file mode 100644 index 000000000..55bf88243 --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw.x/system.py @@ -0,0 +1,841 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x/system.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel, confloat, conint + + +class Occupations(Enum): + smearing = "smearing" + tetrahedra = "tetrahedra" + tetrahedra_lin = "tetrahedra_lin" + tetrahedra_opt = "tetrahedra_opt" + fixed = "fixed" + from_input = "from_input" + + +class Smearing(Enum): + gaussian = "gaussian" + gauss = "gauss" + methfessel_paxton = "methfessel-paxton" + m_p = "m-p" + mp = "mp" + marzari_vanderbilt = "marzari-vanderbilt" + cold = "cold" + m_v = "m-v" + mv = "mv" + fermi_dirac = "fermi-dirac" + f_d = "f-d" + fd = "fd" + + +class PolType(Enum): + e = "e" + h = "h" + + +class ExxdivTreatment(Enum): + gygi_baldereschi = "gygi-baldereschi" + vcut_spherical = "vcut_spherical" + vcut_ws = "vcut_ws" + none = "none" + + +class HubbardOccItem(RootModel[conint(ge=1)]): + root: conint(ge=1) + + +class HubbardOccItem5(RootModel[conint(ge=1, le=3)]): + root: conint(ge=1, le=3) + + +class ConstrainedMagnetization(Enum): + none = "none" + total = "total" + atomic = "atomic" + total_direction = "total direction" + atomic_direction = "atomic direction" + + +class AssumeIsolated(Enum): + none = "none" + makov_payne = "makov-payne" + m_p = "m-p" + mp = "mp" + martyna_tuckerman = "martyna-tuckerman" + m_t = "m-t" + mt = "mt" + esm = "esm" + field_2D = "2D" + + +class EsmBc(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class VdwCorr(Enum): + none = "none" + grimme_d2 = "grimme-d2" + Grimme_D2 = "Grimme-D2" + DFT_D = "DFT-D" + dft_d = "dft-d" + grimme_d3 = "grimme-d3" + Grimme_D3 = "Grimme-D3" + DFT_D3 = "DFT-D3" + dft_d3 = "dft-d3" + TS = "TS" + ts = "ts" + ts_vdw = "ts-vdw" + ts_vdW = "ts-vdW" + tkatchenko_scheffler = "tkatchenko-scheffler" + MBD = "MBD" + mbd = "mbd" + many_body_dispersion = "many-body-dispersion" + mbd_vdw = "mbd_vdw" + XDM = "XDM" + xdm = "xdm" + + +class SystemSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ibrav: int + nat: int + """ + number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms) + """ + ntyp: int + """ + number of types of atoms in the unit cell + """ + nbnd: Optional[int] = None + """ + Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more) + """ + nbnd_cond: Optional[int] = None + """ + Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case. + """ + tot_charge: Optional[float] = 0 + starting_charge: Optional[float] = 0 + """ + starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'. + """ + tot_magnetization: Optional[float] = -10000 + """ + Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle. + """ + starting_magnetization: Optional[List[confloat(ge=-1.0, le=1.0)]] = None + ecutwfc: float + """ + kinetic energy cutoff (Ry) for wavefunctions + """ + ecutrho: Optional[float] = None + """ + Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc + """ + ecutfock: Optional[float] = None + """ + Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials. + """ + nr1: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr2: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr3: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr1s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nr2s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nr3s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nosym: Optional[bool] = False + nosym_evc: Optional[bool] = False + noinv: Optional[bool] = False + """ + if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation + """ + no_t_rev: Optional[bool] = False + """ + if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal. + """ + force_symmorphic: Optional[bool] = False + """ + if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation + """ + use_all_frac: Optional[bool] = False + occupations: Optional[Occupations] = None + one_atom_occupations: Optional[bool] = False + starting_spin_angle: Optional[bool] = False + degauss_cond: Optional[float] = 0 + """ + value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.). + """ + nelec_cond: Optional[float] = 0 + """ + Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold. + """ + degauss: Optional[float] = 0 + """ + value of the gaussian spreading (Ry) for brillouin-zone integration in metals. + """ + smearing: Optional[Smearing] = "gaussian" + nspin: Optional[int] = 1 + sic_gamma: Optional[float] = 0 + """ + Strength of the gammaDFT potential. + """ + pol_type: Optional[PolType] = None + """ + Type of polaron in gammaDFT. + """ + sic_energy: Optional[bool] = False + """ + Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost. + """ + sci_vb: Optional[float] = 0 + """ + Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted. + """ + sci_cb: Optional[float] = 0 + """ + Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted. + """ + noncolin: Optional[bool] = False + """ + if .true. the program will perform a noncollinear calculation. + """ + ecfixed: Optional[float] = 0 + qcutz: Optional[float] = 0 + q2sigma: Optional[float] = 0.1 + input_dft: Optional[str] = None + """ + Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing! + """ + ace: Optional[bool] = True + """ + Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092 + """ + exx_fraction: Optional[float] = None + """ + Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20. + """ + screening_parameter: Optional[float] = 0.106 + """ + screening_parameter for HSE like hybrid functionals. + """ + exxdiv_treatment: Optional[ExxdivTreatment] = "gygi-baldereschi" + x_gamma_extrapolation: Optional[bool] = True + """ + Specific for EXX. If .true., extrapolate the G=0 term of the potential + """ + ecutvcut: Optional[float] = None + """ + Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors. + """ + nqx1: Optional[int] = 0 + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + nqx2: Optional[int] = None + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + nqx3: Optional[int] = None + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + localization_thr: Optional[float] = 0 + """ + Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation + """ + Hubbard_occ: Optional[List[List[Union[HubbardOccItem, HubbardOccItem5, float]]]] = None + Hubbard_alpha: Optional[List[float]] = None + Hubbard_beta: Optional[List[float]] = None + starting_ns_eigenvalue: Optional[List[List[List[float]]]] = None + dmft: Optional[bool] = False + """ + If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1. + """ + dmft_prefix: Optional[str] = None + """ + prepended to hdf5 archive: dmft_prefix.h5 + """ + ensemble_energies: Optional[bool] = False + """ + If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation. + """ + edir: Optional[int] = None + """ + The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE. + """ + emaxpos: Optional[float] = 0.5 + """ + Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE. + """ + eopreg: Optional[float] = 0.1 + """ + Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE. + """ + eamp: Optional[float] = 0.001 + angle1: Optional[List[float]] = Field(None, max_length=1, min_length=1) + """ + The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types. + """ + angle2: Optional[List[float]] = Field(None, max_length=1, min_length=1) + """ + The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only. + """ + lforcet: Optional[bool] = None + """ + When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1 + """ + constrained_magnetization: Optional[ConstrainedMagnetization] = "none" + """ + Used to perform constrained calculations in magnetic systems. + """ + fixed_magnetization: Optional[List[float]] = Field(None, max_length=3, min_length=3) + lambda_: Optional[float] = Field(1, alias="lambda") + """ + parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda + """ + report: Optional[int] = -1 + """ + determines when atomic magnetic moments are printed on output + """ + lspinorb: Optional[bool] = None + """ + if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit. + """ + assume_isolated: Optional[AssumeIsolated] = "none" + """ + Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell) + """ + esm_bc: Optional[EsmBc] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + esm_w: Optional[float] = 0 + """ + If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] ). + """ + esm_efield: Optional[float] = 0 + """ + If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes. + """ + esm_nfit: Optional[int] = 4 + """ + If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge. + """ + lgcscf: Optional[bool] = False + """ + If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF. + """ + gcscf_mu: Optional[float] = None + """ + The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge + """ + gcscf_conv_thr: Optional[float] = 0.01 + """ + Convergence threshold of Fermi energy (eV) for GC-SCF. + """ + gcscf_beta: Optional[float] = 0.05 + """ + Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite. + """ + vdw_corr: Optional[VdwCorr] = "none" + """ + Type of Van der Waals correction + """ + london: Optional[bool] = False + """ + OBSOLESCENT, same as vdw_corr='DFT-D' + """ + london_s6: Optional[float] = 0.75 + """ + global scaling parameter for DFT-D. Default is good for PBE. + """ + london_c6: Optional[float] = None + """ + atomic C6 coefficient of each atom type + """ + london_rvdw: Optional[float] = None + """ + atomic vdw radii of each atom type + """ + london_rcut: Optional[float] = 200 + """ + cutoff radius (a.u.) for dispersion interactions + """ + dftd3_version: Optional[conint(ge=2, le=6)] = 3 + """ + Version of Grimme implementation of Grimme-D3 + """ + dftd3_threebody: Optional[bool] = True + """ + Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled. + """ + ts_vdw_econv_thr: Optional[float] = 1e-06 + """ + Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it + """ + ts_vdw_isolated: Optional[bool] = False + """ + Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system. + """ + xdm: Optional[bool] = False + """ + OBSOLESCENT, same as vdw_corr='xdm' + """ + xdm_a1: Optional[float] = 0.6836 + """ + Damping function parameter a1 (adimensional) + """ + xdm_a2: Optional[float] = 1.5045 + """ + Damping function parameter a2 (angstrom) + """ + space_group: Optional[int] = 0 + """ + The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA) + """ + uniqueb: Optional[bool] = False + """ + Used only for monoclinic lattices + """ + origin_choice: Optional[int] = 1 + """ + Used only for space groups that in the ITA allow the use of two different origins + """ + rhombohedral: Optional[bool] = True + """ + Used only for rhombohedral space groups. + """ + zgate: Optional[float] = 0.5 + """ + used only if gate = .TRUE. + """ + relaxz: Optional[bool] = False + """ + used only if gate = .TRUE. + """ + block: Optional[bool] = False + """ + used only if gate = .TRUE. + """ + block_1: Optional[float] = 0.45 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + block_2: Optional[float] = 0.55 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + block_height: Optional[float] = 0.1 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + nextffield: Optional[int] = 0 + """ + Number of activated external ionic force fields. + """ + celldm: Optional[List[float]] = Field(None, max_length=6, min_length=6) + + +class HubbardOccItem6(RootModel[conint(ge=1)]): + root: conint(ge=1) + + +class HubbardOccItem7(RootModel[conint(ge=1, le=3)]): + root: conint(ge=1, le=3) + + +class SystemSchema3(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ibrav: int + nat: int + """ + number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms) + """ + ntyp: int + """ + number of types of atoms in the unit cell + """ + nbnd: Optional[int] = None + """ + Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more) + """ + nbnd_cond: Optional[int] = None + """ + Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case. + """ + tot_charge: Optional[float] = 0 + starting_charge: Optional[float] = 0 + """ + starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'. + """ + tot_magnetization: Optional[float] = -10000 + """ + Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle. + """ + starting_magnetization: Optional[List[confloat(ge=-1.0, le=1.0)]] = None + ecutwfc: float + """ + kinetic energy cutoff (Ry) for wavefunctions + """ + ecutrho: Optional[float] = None + """ + Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc + """ + ecutfock: Optional[float] = None + """ + Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials. + """ + nr1: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr2: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr3: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr1s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nr2s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nr3s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nosym: Optional[bool] = False + nosym_evc: Optional[bool] = False + noinv: Optional[bool] = False + """ + if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation + """ + no_t_rev: Optional[bool] = False + """ + if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal. + """ + force_symmorphic: Optional[bool] = False + """ + if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation + """ + use_all_frac: Optional[bool] = False + occupations: Optional[Occupations] = None + one_atom_occupations: Optional[bool] = False + starting_spin_angle: Optional[bool] = False + degauss_cond: Optional[float] = 0 + """ + value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.). + """ + nelec_cond: Optional[float] = 0 + """ + Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold. + """ + degauss: Optional[float] = 0 + """ + value of the gaussian spreading (Ry) for brillouin-zone integration in metals. + """ + smearing: Optional[Smearing] = "gaussian" + nspin: Optional[int] = 1 + sic_gamma: Optional[float] = 0 + """ + Strength of the gammaDFT potential. + """ + pol_type: Optional[PolType] = None + """ + Type of polaron in gammaDFT. + """ + sic_energy: Optional[bool] = False + """ + Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost. + """ + sci_vb: Optional[float] = 0 + """ + Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted. + """ + sci_cb: Optional[float] = 0 + """ + Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted. + """ + noncolin: Optional[bool] = False + """ + if .true. the program will perform a noncollinear calculation. + """ + ecfixed: Optional[float] = 0 + qcutz: Optional[float] = 0 + q2sigma: Optional[float] = 0.1 + input_dft: Optional[str] = None + """ + Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing! + """ + ace: Optional[bool] = True + """ + Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092 + """ + exx_fraction: Optional[float] = None + """ + Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20. + """ + screening_parameter: Optional[float] = 0.106 + """ + screening_parameter for HSE like hybrid functionals. + """ + exxdiv_treatment: Optional[ExxdivTreatment] = "gygi-baldereschi" + x_gamma_extrapolation: Optional[bool] = True + """ + Specific for EXX. If .true., extrapolate the G=0 term of the potential + """ + ecutvcut: Optional[float] = None + """ + Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors. + """ + nqx1: Optional[int] = 0 + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + nqx2: Optional[int] = None + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + nqx3: Optional[int] = None + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + localization_thr: Optional[float] = 0 + """ + Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation + """ + Hubbard_occ: Optional[List[List[Union[HubbardOccItem6, HubbardOccItem7, float]]]] = None + Hubbard_alpha: Optional[List[float]] = None + Hubbard_beta: Optional[List[float]] = None + starting_ns_eigenvalue: Optional[List[List[List[float]]]] = None + dmft: Optional[bool] = False + """ + If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1. + """ + dmft_prefix: Optional[str] = None + """ + prepended to hdf5 archive: dmft_prefix.h5 + """ + ensemble_energies: Optional[bool] = False + """ + If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation. + """ + edir: Optional[int] = None + """ + The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE. + """ + emaxpos: Optional[float] = 0.5 + """ + Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE. + """ + eopreg: Optional[float] = 0.1 + """ + Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE. + """ + eamp: Optional[float] = 0.001 + angle1: Optional[List[float]] = Field(None, max_length=1, min_length=1) + """ + The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types. + """ + angle2: Optional[List[float]] = Field(None, max_length=1, min_length=1) + """ + The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only. + """ + lforcet: Optional[bool] = None + """ + When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1 + """ + constrained_magnetization: Optional[ConstrainedMagnetization] = "none" + """ + Used to perform constrained calculations in magnetic systems. + """ + fixed_magnetization: Optional[List[float]] = Field(None, max_length=3, min_length=3) + lambda_: Optional[float] = Field(1, alias="lambda") + """ + parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda + """ + report: Optional[int] = -1 + """ + determines when atomic magnetic moments are printed on output + """ + lspinorb: Optional[bool] = None + """ + if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit. + """ + assume_isolated: Optional[AssumeIsolated] = "none" + """ + Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell) + """ + esm_bc: Optional[EsmBc] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + esm_w: Optional[float] = 0 + """ + If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] ). + """ + esm_efield: Optional[float] = 0 + """ + If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes. + """ + esm_nfit: Optional[int] = 4 + """ + If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge. + """ + lgcscf: Optional[bool] = False + """ + If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF. + """ + gcscf_mu: Optional[float] = None + """ + The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge + """ + gcscf_conv_thr: Optional[float] = 0.01 + """ + Convergence threshold of Fermi energy (eV) for GC-SCF. + """ + gcscf_beta: Optional[float] = 0.05 + """ + Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite. + """ + vdw_corr: Optional[VdwCorr] = "none" + """ + Type of Van der Waals correction + """ + london: Optional[bool] = False + """ + OBSOLESCENT, same as vdw_corr='DFT-D' + """ + london_s6: Optional[float] = 0.75 + """ + global scaling parameter for DFT-D. Default is good for PBE. + """ + london_c6: Optional[float] = None + """ + atomic C6 coefficient of each atom type + """ + london_rvdw: Optional[float] = None + """ + atomic vdw radii of each atom type + """ + london_rcut: Optional[float] = 200 + """ + cutoff radius (a.u.) for dispersion interactions + """ + dftd3_version: Optional[conint(ge=2, le=6)] = 3 + """ + Version of Grimme implementation of Grimme-D3 + """ + dftd3_threebody: Optional[bool] = True + """ + Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled. + """ + ts_vdw_econv_thr: Optional[float] = 1e-06 + """ + Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it + """ + ts_vdw_isolated: Optional[bool] = False + """ + Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system. + """ + xdm: Optional[bool] = False + """ + OBSOLESCENT, same as vdw_corr='xdm' + """ + xdm_a1: Optional[float] = 0.6836 + """ + Damping function parameter a1 (adimensional) + """ + xdm_a2: Optional[float] = 1.5045 + """ + Damping function parameter a2 (angstrom) + """ + space_group: Optional[int] = 0 + """ + The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA) + """ + uniqueb: Optional[bool] = False + """ + Used only for monoclinic lattices + """ + origin_choice: Optional[int] = 1 + """ + Used only for space groups that in the ITA allow the use of two different origins + """ + rhombohedral: Optional[bool] = True + """ + Used only for rhombohedral space groups. + """ + zgate: Optional[float] = 0.5 + """ + used only if gate = .TRUE. + """ + relaxz: Optional[bool] = False + """ + used only if gate = .TRUE. + """ + block: Optional[bool] = False + """ + used only if gate = .TRUE. + """ + block_1: Optional[float] = 0.45 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + block_2: Optional[float] = 0.55 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + block_height: Optional[float] = 0.1 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + nextffield: Optional[int] = 0 + """ + Number of activated external ionic force fields. + """ + A: Optional[float] = None + B: Optional[float] = None + C: Optional[float] = None + cosAB: Optional[float] = None + cosAC: Optional[float] = None + cosBC: Optional[float] = None + + +class ESSE(RootModel[Union[SystemSchema, SystemSchema3]]): + root: Union[SystemSchema, SystemSchema3] = Field(..., title="system schema") diff --git a/dist/py/apse/file/applications/espresso/7.2/pw_x.py b/dist/py/apse/file/applications/espresso/7.2/pw_x.py new file mode 100644 index 000000000..53f94dc4e --- /dev/null +++ b/dist/py/apse/file/applications/espresso/7.2/pw_x.py @@ -0,0 +1,1990 @@ +# generated by datamodel-codegen: +# filename: apse/file/applications/espresso/7.2/pw.x.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel, confloat, conint + + +class Calculation(Enum): + scf = "scf" + nscf = "nscf" + bands = "bands" + relax = "relax" + md = "md" + vc_relax = "vc-relax" + vc_md = "vc-md" + + +class Verbosity(Enum): + high = "high" + low = "low" + debug = "debug" + medium = "medium" + minimal = "minimal" + default = "default" + + +class RestartMode(Enum): + from_scratch = "from_scratch" + restart = "restart" + + +class DiskIo(Enum): + high = "high" + medium = "medium" + low = "low" + nowf = "nowf" + none = "none" + + +class ControlSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + calculation: Optional[Calculation] = "scf" + """ + A string describing the task to be performed + """ + title: Optional[str] = "" + """ + reprinted on output. + """ + verbosity: Optional[Verbosity] = "low" + """ + Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low' + """ + restart_mode: Optional[RestartMode] = "from_scratch" + wf_collect: Optional[bool] = None + """ + OBSOLETE - NO LONGER IMPLEMENTED + """ + nstep: Optional[float] = 1 + """ + Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick "dry run", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform "nstep" steps even if restarting from a previously interrupted calculation. + """ + iprint: Optional[float] = None + """ + band energies are written every iprint iterations + """ + tstress: Optional[bool] = False + """ + calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax' + """ + tprnfor: Optional[bool] = None + """ + calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md' + """ + dt: Optional[float] = 20 + """ + time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!) + """ + outdir: Optional[str] = None + """ + input, temporary, output files are found in this directory, see also wfcdir + """ + wfcdir: Optional[str] = None + """ + This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x. + """ + prefix: Optional[str] = "pwscf" + """ + prepended to input/output filenames: prefix.wfc, prefix.rho, etc. + """ + lkpoint_dir: Optional[bool] = None + """ + OBSOLETE - NO LONGER IMPLEMENTED + """ + max_seconds: Optional[float] = 10000000 + """ + Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues. + """ + etot_conv_thr: Optional[float] = 0.0001 + """ + Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied + """ + forc_conv_thr: Optional[float] = 0.001 + """ + Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied + """ + disk_io: Optional[DiskIo] = None + """ + Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option ) + """ + pseudo_dir: Optional[str] = None + """ + directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise + """ + tefield: Optional[bool] = False + """ + If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential. + """ + dipfield: Optional[bool] = False + """ + If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE. + """ + lelfield: Optional[bool] = False + """ + If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. ! + """ + nberrycyc: Optional[int] = 1 + """ + In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density + """ + lorbm: Optional[bool] = False + """ + If .TRUE. perform orbital magnetization calculation. + """ + lberry: Optional[bool] = False + """ + If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation + """ + gdir: Optional[float] = None + """ + For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) "gdir" is the direction of the field. + """ + nppstr: Optional[float] = None + """ + For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.). + """ + gate: Optional[bool] = False + """ + In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called "monopole" in v6.0 and 6.1 of pw.x + """ + twochem: Optional[bool] = False + """ + IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold. + """ + lfcp: Optional[bool] = False + """ + If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP. + """ + trism: Optional[bool] = False + """ + If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. . + """ + + +class Occupations(Enum): + smearing = "smearing" + tetrahedra = "tetrahedra" + tetrahedra_lin = "tetrahedra_lin" + tetrahedra_opt = "tetrahedra_opt" + fixed = "fixed" + from_input = "from_input" + + +class Smearing(Enum): + gaussian = "gaussian" + gauss = "gauss" + methfessel_paxton = "methfessel-paxton" + m_p = "m-p" + mp = "mp" + marzari_vanderbilt = "marzari-vanderbilt" + cold = "cold" + m_v = "m-v" + mv = "mv" + fermi_dirac = "fermi-dirac" + f_d = "f-d" + fd = "fd" + + +class PolType(Enum): + e = "e" + h = "h" + + +class ExxdivTreatment(Enum): + gygi_baldereschi = "gygi-baldereschi" + vcut_spherical = "vcut_spherical" + vcut_ws = "vcut_ws" + none = "none" + + +class HubbardOccItem(RootModel[conint(ge=1)]): + root: conint(ge=1) + + +class HubbardOccItem1(RootModel[conint(ge=1, le=3)]): + root: conint(ge=1, le=3) + + +class ConstrainedMagnetization(Enum): + none = "none" + total = "total" + atomic = "atomic" + total_direction = "total direction" + atomic_direction = "atomic direction" + + +class AssumeIsolated(Enum): + none = "none" + makov_payne = "makov-payne" + m_p = "m-p" + mp = "mp" + martyna_tuckerman = "martyna-tuckerman" + m_t = "m-t" + mt = "mt" + esm = "esm" + field_2D = "2D" + + +class EsmBc(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class VdwCorr(Enum): + none = "none" + grimme_d2 = "grimme-d2" + Grimme_D2 = "Grimme-D2" + DFT_D = "DFT-D" + dft_d = "dft-d" + grimme_d3 = "grimme-d3" + Grimme_D3 = "Grimme-D3" + DFT_D3 = "DFT-D3" + dft_d3 = "dft-d3" + TS = "TS" + ts = "ts" + ts_vdw = "ts-vdw" + ts_vdW = "ts-vdW" + tkatchenko_scheffler = "tkatchenko-scheffler" + MBD = "MBD" + mbd = "mbd" + many_body_dispersion = "many-body-dispersion" + mbd_vdw = "mbd_vdw" + XDM = "XDM" + xdm = "xdm" + + +class SystemSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ibrav: int + nat: int + """ + number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms) + """ + ntyp: int + """ + number of types of atoms in the unit cell + """ + nbnd: Optional[int] = None + """ + Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more) + """ + nbnd_cond: Optional[int] = None + """ + Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case. + """ + tot_charge: Optional[float] = 0 + starting_charge: Optional[float] = 0 + """ + starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'. + """ + tot_magnetization: Optional[float] = -10000 + """ + Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle. + """ + starting_magnetization: Optional[List[confloat(ge=-1.0, le=1.0)]] = None + ecutwfc: float + """ + kinetic energy cutoff (Ry) for wavefunctions + """ + ecutrho: Optional[float] = None + """ + Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc + """ + ecutfock: Optional[float] = None + """ + Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials. + """ + nr1: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr2: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr3: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr1s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nr2s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nr3s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nosym: Optional[bool] = False + nosym_evc: Optional[bool] = False + noinv: Optional[bool] = False + """ + if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation + """ + no_t_rev: Optional[bool] = False + """ + if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal. + """ + force_symmorphic: Optional[bool] = False + """ + if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation + """ + use_all_frac: Optional[bool] = False + occupations: Optional[Occupations] = None + one_atom_occupations: Optional[bool] = False + starting_spin_angle: Optional[bool] = False + degauss_cond: Optional[float] = 0 + """ + value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.). + """ + nelec_cond: Optional[float] = 0 + """ + Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold. + """ + degauss: Optional[float] = 0 + """ + value of the gaussian spreading (Ry) for brillouin-zone integration in metals. + """ + smearing: Optional[Smearing] = "gaussian" + nspin: Optional[int] = 1 + sic_gamma: Optional[float] = 0 + """ + Strength of the gammaDFT potential. + """ + pol_type: Optional[PolType] = None + """ + Type of polaron in gammaDFT. + """ + sic_energy: Optional[bool] = False + """ + Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost. + """ + sci_vb: Optional[float] = 0 + """ + Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted. + """ + sci_cb: Optional[float] = 0 + """ + Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted. + """ + noncolin: Optional[bool] = False + """ + if .true. the program will perform a noncollinear calculation. + """ + ecfixed: Optional[float] = 0 + qcutz: Optional[float] = 0 + q2sigma: Optional[float] = 0.1 + input_dft: Optional[str] = None + """ + Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing! + """ + ace: Optional[bool] = True + """ + Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092 + """ + exx_fraction: Optional[float] = None + """ + Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20. + """ + screening_parameter: Optional[float] = 0.106 + """ + screening_parameter for HSE like hybrid functionals. + """ + exxdiv_treatment: Optional[ExxdivTreatment] = "gygi-baldereschi" + x_gamma_extrapolation: Optional[bool] = True + """ + Specific for EXX. If .true., extrapolate the G=0 term of the potential + """ + ecutvcut: Optional[float] = None + """ + Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors. + """ + nqx1: Optional[int] = 0 + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + nqx2: Optional[int] = None + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + nqx3: Optional[int] = None + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + localization_thr: Optional[float] = 0 + """ + Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation + """ + Hubbard_occ: Optional[List[List[Union[HubbardOccItem, HubbardOccItem1, float]]]] = None + Hubbard_alpha: Optional[List[float]] = None + Hubbard_beta: Optional[List[float]] = None + starting_ns_eigenvalue: Optional[List[List[List[float]]]] = None + dmft: Optional[bool] = False + """ + If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1. + """ + dmft_prefix: Optional[str] = None + """ + prepended to hdf5 archive: dmft_prefix.h5 + """ + ensemble_energies: Optional[bool] = False + """ + If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation. + """ + edir: Optional[int] = None + """ + The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE. + """ + emaxpos: Optional[float] = 0.5 + """ + Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE. + """ + eopreg: Optional[float] = 0.1 + """ + Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE. + """ + eamp: Optional[float] = 0.001 + angle1: Optional[List[float]] = Field(None, max_length=1, min_length=1) + """ + The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types. + """ + angle2: Optional[List[float]] = Field(None, max_length=1, min_length=1) + """ + The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only. + """ + lforcet: Optional[bool] = None + """ + When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1 + """ + constrained_magnetization: Optional[ConstrainedMagnetization] = "none" + """ + Used to perform constrained calculations in magnetic systems. + """ + fixed_magnetization: Optional[List[float]] = Field(None, max_length=3, min_length=3) + lambda_: Optional[float] = Field(1, alias="lambda") + """ + parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda + """ + report: Optional[int] = -1 + """ + determines when atomic magnetic moments are printed on output + """ + lspinorb: Optional[bool] = None + """ + if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit. + """ + assume_isolated: Optional[AssumeIsolated] = "none" + """ + Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell) + """ + esm_bc: Optional[EsmBc] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + esm_w: Optional[float] = 0 + """ + If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] ). + """ + esm_efield: Optional[float] = 0 + """ + If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes. + """ + esm_nfit: Optional[int] = 4 + """ + If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge. + """ + lgcscf: Optional[bool] = False + """ + If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF. + """ + gcscf_mu: Optional[float] = None + """ + The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge + """ + gcscf_conv_thr: Optional[float] = 0.01 + """ + Convergence threshold of Fermi energy (eV) for GC-SCF. + """ + gcscf_beta: Optional[float] = 0.05 + """ + Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite. + """ + vdw_corr: Optional[VdwCorr] = "none" + """ + Type of Van der Waals correction + """ + london: Optional[bool] = False + """ + OBSOLESCENT, same as vdw_corr='DFT-D' + """ + london_s6: Optional[float] = 0.75 + """ + global scaling parameter for DFT-D. Default is good for PBE. + """ + london_c6: Optional[float] = None + """ + atomic C6 coefficient of each atom type + """ + london_rvdw: Optional[float] = None + """ + atomic vdw radii of each atom type + """ + london_rcut: Optional[float] = 200 + """ + cutoff radius (a.u.) for dispersion interactions + """ + dftd3_version: Optional[conint(ge=2, le=6)] = 3 + """ + Version of Grimme implementation of Grimme-D3 + """ + dftd3_threebody: Optional[bool] = True + """ + Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled. + """ + ts_vdw_econv_thr: Optional[float] = 1e-06 + """ + Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it + """ + ts_vdw_isolated: Optional[bool] = False + """ + Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system. + """ + xdm: Optional[bool] = False + """ + OBSOLESCENT, same as vdw_corr='xdm' + """ + xdm_a1: Optional[float] = 0.6836 + """ + Damping function parameter a1 (adimensional) + """ + xdm_a2: Optional[float] = 1.5045 + """ + Damping function parameter a2 (angstrom) + """ + space_group: Optional[int] = 0 + """ + The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA) + """ + uniqueb: Optional[bool] = False + """ + Used only for monoclinic lattices + """ + origin_choice: Optional[int] = 1 + """ + Used only for space groups that in the ITA allow the use of two different origins + """ + rhombohedral: Optional[bool] = True + """ + Used only for rhombohedral space groups. + """ + zgate: Optional[float] = 0.5 + """ + used only if gate = .TRUE. + """ + relaxz: Optional[bool] = False + """ + used only if gate = .TRUE. + """ + block: Optional[bool] = False + """ + used only if gate = .TRUE. + """ + block_1: Optional[float] = 0.45 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + block_2: Optional[float] = 0.55 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + block_height: Optional[float] = 0.1 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + nextffield: Optional[int] = 0 + """ + Number of activated external ionic force fields. + """ + celldm: Optional[List[float]] = Field(None, max_length=6, min_length=6) + + +class HubbardOccItem2(RootModel[conint(ge=1)]): + root: conint(ge=1) + + +class HubbardOccItem3(RootModel[conint(ge=1, le=3)]): + root: conint(ge=1, le=3) + + +class SystemSchema1(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ibrav: int + nat: int + """ + number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms) + """ + ntyp: int + """ + number of types of atoms in the unit cell + """ + nbnd: Optional[int] = None + """ + Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more) + """ + nbnd_cond: Optional[int] = None + """ + Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case. + """ + tot_charge: Optional[float] = 0 + starting_charge: Optional[float] = 0 + """ + starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'. + """ + tot_magnetization: Optional[float] = -10000 + """ + Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle. + """ + starting_magnetization: Optional[List[confloat(ge=-1.0, le=1.0)]] = None + ecutwfc: float + """ + kinetic energy cutoff (Ry) for wavefunctions + """ + ecutrho: Optional[float] = None + """ + Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc + """ + ecutfock: Optional[float] = None + """ + Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials. + """ + nr1: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr2: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr3: Optional[int] = None + """ + Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho) + """ + nr1s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nr2s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nr3s: Optional[int] = None + """ + Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default ) + """ + nosym: Optional[bool] = False + nosym_evc: Optional[bool] = False + noinv: Optional[bool] = False + """ + if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation + """ + no_t_rev: Optional[bool] = False + """ + if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal. + """ + force_symmorphic: Optional[bool] = False + """ + if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation + """ + use_all_frac: Optional[bool] = False + occupations: Optional[Occupations] = None + one_atom_occupations: Optional[bool] = False + starting_spin_angle: Optional[bool] = False + degauss_cond: Optional[float] = 0 + """ + value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.). + """ + nelec_cond: Optional[float] = 0 + """ + Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold. + """ + degauss: Optional[float] = 0 + """ + value of the gaussian spreading (Ry) for brillouin-zone integration in metals. + """ + smearing: Optional[Smearing] = "gaussian" + nspin: Optional[int] = 1 + sic_gamma: Optional[float] = 0 + """ + Strength of the gammaDFT potential. + """ + pol_type: Optional[PolType] = None + """ + Type of polaron in gammaDFT. + """ + sic_energy: Optional[bool] = False + """ + Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost. + """ + sci_vb: Optional[float] = 0 + """ + Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted. + """ + sci_cb: Optional[float] = 0 + """ + Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted. + """ + noncolin: Optional[bool] = False + """ + if .true. the program will perform a noncollinear calculation. + """ + ecfixed: Optional[float] = 0 + qcutz: Optional[float] = 0 + q2sigma: Optional[float] = 0.1 + input_dft: Optional[str] = None + """ + Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing! + """ + ace: Optional[bool] = True + """ + Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092 + """ + exx_fraction: Optional[float] = None + """ + Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20. + """ + screening_parameter: Optional[float] = 0.106 + """ + screening_parameter for HSE like hybrid functionals. + """ + exxdiv_treatment: Optional[ExxdivTreatment] = "gygi-baldereschi" + x_gamma_extrapolation: Optional[bool] = True + """ + Specific for EXX. If .true., extrapolate the G=0 term of the potential + """ + ecutvcut: Optional[float] = None + """ + Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors. + """ + nqx1: Optional[int] = 0 + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + nqx2: Optional[int] = None + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + nqx3: Optional[int] = None + """ + Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. + """ + localization_thr: Optional[float] = 0 + """ + Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation + """ + Hubbard_occ: Optional[List[List[Union[HubbardOccItem2, HubbardOccItem3, float]]]] = None + Hubbard_alpha: Optional[List[float]] = None + Hubbard_beta: Optional[List[float]] = None + starting_ns_eigenvalue: Optional[List[List[List[float]]]] = None + dmft: Optional[bool] = False + """ + If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1. + """ + dmft_prefix: Optional[str] = None + """ + prepended to hdf5 archive: dmft_prefix.h5 + """ + ensemble_energies: Optional[bool] = False + """ + If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation. + """ + edir: Optional[int] = None + """ + The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE. + """ + emaxpos: Optional[float] = 0.5 + """ + Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE. + """ + eopreg: Optional[float] = 0.1 + """ + Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE. + """ + eamp: Optional[float] = 0.001 + angle1: Optional[List[float]] = Field(None, max_length=1, min_length=1) + """ + The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types. + """ + angle2: Optional[List[float]] = Field(None, max_length=1, min_length=1) + """ + The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only. + """ + lforcet: Optional[bool] = None + """ + When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1 + """ + constrained_magnetization: Optional[ConstrainedMagnetization] = "none" + """ + Used to perform constrained calculations in magnetic systems. + """ + fixed_magnetization: Optional[List[float]] = Field(None, max_length=3, min_length=3) + lambda_: Optional[float] = Field(1, alias="lambda") + """ + parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda + """ + report: Optional[int] = -1 + """ + determines when atomic magnetic moments are printed on output + """ + lspinorb: Optional[bool] = None + """ + if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit. + """ + assume_isolated: Optional[AssumeIsolated] = "none" + """ + Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell) + """ + esm_bc: Optional[EsmBc] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + esm_w: Optional[float] = 0 + """ + If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] ). + """ + esm_efield: Optional[float] = 0 + """ + If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes. + """ + esm_nfit: Optional[int] = 4 + """ + If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge. + """ + lgcscf: Optional[bool] = False + """ + If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF. + """ + gcscf_mu: Optional[float] = None + """ + The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge + """ + gcscf_conv_thr: Optional[float] = 0.01 + """ + Convergence threshold of Fermi energy (eV) for GC-SCF. + """ + gcscf_beta: Optional[float] = 0.05 + """ + Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite. + """ + vdw_corr: Optional[VdwCorr] = "none" + """ + Type of Van der Waals correction + """ + london: Optional[bool] = False + """ + OBSOLESCENT, same as vdw_corr='DFT-D' + """ + london_s6: Optional[float] = 0.75 + """ + global scaling parameter for DFT-D. Default is good for PBE. + """ + london_c6: Optional[float] = None + """ + atomic C6 coefficient of each atom type + """ + london_rvdw: Optional[float] = None + """ + atomic vdw radii of each atom type + """ + london_rcut: Optional[float] = 200 + """ + cutoff radius (a.u.) for dispersion interactions + """ + dftd3_version: Optional[conint(ge=2, le=6)] = 3 + """ + Version of Grimme implementation of Grimme-D3 + """ + dftd3_threebody: Optional[bool] = True + """ + Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled. + """ + ts_vdw_econv_thr: Optional[float] = 1e-06 + """ + Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it + """ + ts_vdw_isolated: Optional[bool] = False + """ + Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system. + """ + xdm: Optional[bool] = False + """ + OBSOLESCENT, same as vdw_corr='xdm' + """ + xdm_a1: Optional[float] = 0.6836 + """ + Damping function parameter a1 (adimensional) + """ + xdm_a2: Optional[float] = 1.5045 + """ + Damping function parameter a2 (angstrom) + """ + space_group: Optional[int] = 0 + """ + The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA) + """ + uniqueb: Optional[bool] = False + """ + Used only for monoclinic lattices + """ + origin_choice: Optional[int] = 1 + """ + Used only for space groups that in the ITA allow the use of two different origins + """ + rhombohedral: Optional[bool] = True + """ + Used only for rhombohedral space groups. + """ + zgate: Optional[float] = 0.5 + """ + used only if gate = .TRUE. + """ + relaxz: Optional[bool] = False + """ + used only if gate = .TRUE. + """ + block: Optional[bool] = False + """ + used only if gate = .TRUE. + """ + block_1: Optional[float] = 0.45 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + block_2: Optional[float] = 0.55 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + block_height: Optional[float] = 0.1 + """ + used only if gate = .TRUE. and block = .TRUE. + """ + nextffield: Optional[int] = 0 + """ + Number of activated external ionic force fields. + """ + A: Optional[float] = None + B: Optional[float] = None + C: Optional[float] = None + cosAB: Optional[float] = None + cosAC: Optional[float] = None + cosBC: Optional[float] = None + + +class MixingMode(Enum): + plain = "plain" + TF = "TF" + local_TF = "local-TF" + + +class Diagonalization(Enum): + david = "david" + cg = "cg" + ppcg = "ppcg" + paro = "paro" + ParO = "ParO" + rmm_davidson = "rmm-davidson" + rmm_paro = "rmm-paro" + + +class EfieldPhase(Enum): + read = "read" + write = "write" + none = "none" + + +class Startingpot(Enum): + atomic = "atomic" + file = "file" + + +class Startingwfc(Enum): + atomic = "atomic" + atomic_random = "atomic+random" + random = "random" + file = "file" + + +class ElectronsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + electron_maxstep: Optional[int] = 100 + """ + maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops. + """ + exx_maxstep: Optional[int] = 100 + """ + maximum number of outer iterations in a scf calculation with exact exchange. + """ + scf_must_converge: Optional[bool] = True + """ + If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care. + """ + conv_thr: Optional[float] = None + adaptive_thr: Optional[bool] = False + """ + If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX. + """ + conv_thr_init: Optional[float] = None + """ + When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle. + """ + conv_thr_multi: Optional[float] = None + """ + When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx ) + """ + mixing_mode: Optional[MixingMode] = "plain" + mixing_beta: Optional[float] = None + """ + mixing factor for self-consistency + """ + mixing_ndim: Optional[int] = 8 + """ + number of iterations used in mixing scheme + """ + mixing_fixed_ns: Optional[int] = 0 + """ + For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term ). + """ + diagonalization: Optional[Diagonalization] = "david" + diago_thr_init: Optional[float] = None + """ + Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence). + """ + diago_cg_maxiter: Optional[int] = None + """ + For conjugate gradient diagonalization: max number of iterations + """ + diago_ppcg_maxiter: Optional[int] = None + """ + For ppcg diagonalization: max number of iterations + """ + diago_david_ndim: Optional[int] = 2 + """ + For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed). + """ + diago_rmm_ndim: Optional[int] = 4 + """ + For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed). + """ + diago_rmm_conv: Optional[bool] = False + """ + If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once. + """ + diago_gs_nblock: Optional[int] = 16 + """ + For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization + """ + diago_full_acc: Optional[bool] = False + """ + If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties). + """ + efield: Optional[float] = None + """ + Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic. + """ + efield_cart: Optional[List[float]] = Field( + None, max_length=3, min_length=3, title="array of 3 number elements schema" + ) + efield_phase: Optional[EfieldPhase] = "none" + startingpot: Optional[Startingpot] = None + startingwfc: Optional[Startingwfc] = "atomic+random" + tqr: Optional[bool] = False + """ + If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing! + """ + real_space: Optional[bool] = False + """ + If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing! + """ + + +class IonPositions(Enum): + default = "default" + from_input = "from_input" + + +class IonVelocities(Enum): + default = "default" + from_input = "from_input" + + +class PotExtrapolation(Enum): + none = "none" + atomic = "atomic" + first_order = "first_order" + second_order = "second_order" + + +class WfcExtrapolation(Enum): + none = "none" + first_order = "first_order" + second_order = "second_order" + + +class IonTemperature(Enum): + rescaling = "rescaling" + rescale_v = "rescale-v" + rescale_T = "rescale-T" + reduce_T = "reduce-T" + berendsen = "berendsen" + andersen = "andersen" + svr = "svr" + initial = "initial" + not_controlled = "not_controlled" + + +class IonDynamics(Enum): + bfgs = "bfgs" + damp = "damp" + fire = "fire" + + +class IonsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ion_positions: Optional[IonPositions] = "default" + ion_velocities: Optional[IonVelocities] = "default" + pot_extrapolation: Optional[PotExtrapolation] = "atomic" + """ + Used to extrapolate the potential from preceding ionic steps. + """ + wfc_extrapolation: Optional[WfcExtrapolation] = "none" + """ + Used to extrapolate the wavefunctions from preceding ionic steps. + """ + remove_rigid_rot: Optional[bool] = False + """ + This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells. + """ + ion_temperature: Optional[IonTemperature] = "not_controlled" + tempw: Optional[float] = 300 + """ + Starting temperature (Kelvin) in MD runs target temperature for most thermostats. + """ + tolp: Optional[float] = 100 + """ + Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp. + """ + delta_t: Optional[float] = 1 + nraise: Optional[int] = 1 + refold_pos: Optional[bool] = False + """ + This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell. + """ + upscale: Optional[float] = 100 + """ + Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale. + """ + bfgs_ndim: Optional[int] = 1 + """ + Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm. + """ + trust_radius_max: Optional[float] = 0.8 + """ + Maximum ionic displacement in the structural relaxation. (bfgs only) + """ + trust_radius_min: Optional[float] = 0.001 + """ + Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only) + """ + trust_radius_ini: Optional[float] = 0.5 + """ + Initial ionic displacement in the structural relaxation. (bfgs only) + """ + w_1: Optional[float] = 0.01 + w_2: Optional[float] = 0.5 + """ + Parameters used in line search based on the Wolfe conditions. (bfgs only) + """ + fire_alpha_init: Optional[float] = 0.2 + """ + Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3 + """ + fire_falpha: Optional[float] = 0.99 + """ + Scaling of the alpha mixing parameter for steps with P > 0; + """ + fire_nmin: Optional[int] = 5 + """ + Minimum number of steps with P > 0 before increase of dt + """ + fire_f_inc: Optional[float] = 1.1 + """ + Factor for increasing dt + """ + fire_f_dec: Optional[float] = 0.5 + """ + Factor for decreasing dt + """ + fire_dtmax: Optional[float] = 10 + """ + Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt + """ + ion_dynamics: Optional[IonDynamics] = "bfgs" + """ + CASE: calculation == 'relax' + """ + + +class IonDynamics5(Enum): + verlet = "verlet" + langevin = "langevin" + langevin_smc = "langevin-smc" + + +class IonsSchema5(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ion_positions: Optional[IonPositions] = "default" + ion_velocities: Optional[IonVelocities] = "default" + pot_extrapolation: Optional[PotExtrapolation] = "atomic" + """ + Used to extrapolate the potential from preceding ionic steps. + """ + wfc_extrapolation: Optional[WfcExtrapolation] = "none" + """ + Used to extrapolate the wavefunctions from preceding ionic steps. + """ + remove_rigid_rot: Optional[bool] = False + """ + This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells. + """ + ion_temperature: Optional[IonTemperature] = "not_controlled" + tempw: Optional[float] = 300 + """ + Starting temperature (Kelvin) in MD runs target temperature for most thermostats. + """ + tolp: Optional[float] = 100 + """ + Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp. + """ + delta_t: Optional[float] = 1 + nraise: Optional[int] = 1 + refold_pos: Optional[bool] = False + """ + This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell. + """ + upscale: Optional[float] = 100 + """ + Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale. + """ + bfgs_ndim: Optional[int] = 1 + """ + Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm. + """ + trust_radius_max: Optional[float] = 0.8 + """ + Maximum ionic displacement in the structural relaxation. (bfgs only) + """ + trust_radius_min: Optional[float] = 0.001 + """ + Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only) + """ + trust_radius_ini: Optional[float] = 0.5 + """ + Initial ionic displacement in the structural relaxation. (bfgs only) + """ + w_1: Optional[float] = 0.01 + w_2: Optional[float] = 0.5 + """ + Parameters used in line search based on the Wolfe conditions. (bfgs only) + """ + fire_alpha_init: Optional[float] = 0.2 + """ + Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3 + """ + fire_falpha: Optional[float] = 0.99 + """ + Scaling of the alpha mixing parameter for steps with P > 0; + """ + fire_nmin: Optional[int] = 5 + """ + Minimum number of steps with P > 0 before increase of dt + """ + fire_f_inc: Optional[float] = 1.1 + """ + Factor for increasing dt + """ + fire_f_dec: Optional[float] = 0.5 + """ + Factor for decreasing dt + """ + fire_dtmax: Optional[float] = 10 + """ + Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt + """ + ion_dynamics: Optional[IonDynamics5] = "verlet" + """ + CASE: calculation == 'md' + """ + + +class IonDynamics6(Enum): + bfgs = "bfgs" + damp = "damp" + + +class IonsSchema6(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ion_positions: Optional[IonPositions] = "default" + ion_velocities: Optional[IonVelocities] = "default" + pot_extrapolation: Optional[PotExtrapolation] = "atomic" + """ + Used to extrapolate the potential from preceding ionic steps. + """ + wfc_extrapolation: Optional[WfcExtrapolation] = "none" + """ + Used to extrapolate the wavefunctions from preceding ionic steps. + """ + remove_rigid_rot: Optional[bool] = False + """ + This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells. + """ + ion_temperature: Optional[IonTemperature] = "not_controlled" + tempw: Optional[float] = 300 + """ + Starting temperature (Kelvin) in MD runs target temperature for most thermostats. + """ + tolp: Optional[float] = 100 + """ + Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp. + """ + delta_t: Optional[float] = 1 + nraise: Optional[int] = 1 + refold_pos: Optional[bool] = False + """ + This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell. + """ + upscale: Optional[float] = 100 + """ + Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale. + """ + bfgs_ndim: Optional[int] = 1 + """ + Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm. + """ + trust_radius_max: Optional[float] = 0.8 + """ + Maximum ionic displacement in the structural relaxation. (bfgs only) + """ + trust_radius_min: Optional[float] = 0.001 + """ + Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only) + """ + trust_radius_ini: Optional[float] = 0.5 + """ + Initial ionic displacement in the structural relaxation. (bfgs only) + """ + w_1: Optional[float] = 0.01 + w_2: Optional[float] = 0.5 + """ + Parameters used in line search based on the Wolfe conditions. (bfgs only) + """ + fire_alpha_init: Optional[float] = 0.2 + """ + Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3 + """ + fire_falpha: Optional[float] = 0.99 + """ + Scaling of the alpha mixing parameter for steps with P > 0; + """ + fire_nmin: Optional[int] = 5 + """ + Minimum number of steps with P > 0 before increase of dt + """ + fire_f_inc: Optional[float] = 1.1 + """ + Factor for increasing dt + """ + fire_f_dec: Optional[float] = 0.5 + """ + Factor for decreasing dt + """ + fire_dtmax: Optional[float] = 10 + """ + Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt + """ + ion_dynamics: Optional[IonDynamics6] = "bfgs" + """ + CASE: calculation == 'vc-relax' + """ + + +class IonDynamics7(Enum): + beeman = "beeman" + + +class IonsSchema7(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + ion_positions: Optional[IonPositions] = "default" + ion_velocities: Optional[IonVelocities] = "default" + pot_extrapolation: Optional[PotExtrapolation] = "atomic" + """ + Used to extrapolate the potential from preceding ionic steps. + """ + wfc_extrapolation: Optional[WfcExtrapolation] = "none" + """ + Used to extrapolate the wavefunctions from preceding ionic steps. + """ + remove_rigid_rot: Optional[bool] = False + """ + This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells. + """ + ion_temperature: Optional[IonTemperature] = "not_controlled" + tempw: Optional[float] = 300 + """ + Starting temperature (Kelvin) in MD runs target temperature for most thermostats. + """ + tolp: Optional[float] = 100 + """ + Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp. + """ + delta_t: Optional[float] = 1 + nraise: Optional[int] = 1 + refold_pos: Optional[bool] = False + """ + This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell. + """ + upscale: Optional[float] = 100 + """ + Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale. + """ + bfgs_ndim: Optional[int] = 1 + """ + Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm. + """ + trust_radius_max: Optional[float] = 0.8 + """ + Maximum ionic displacement in the structural relaxation. (bfgs only) + """ + trust_radius_min: Optional[float] = 0.001 + """ + Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only) + """ + trust_radius_ini: Optional[float] = 0.5 + """ + Initial ionic displacement in the structural relaxation. (bfgs only) + """ + w_1: Optional[float] = 0.01 + w_2: Optional[float] = 0.5 + """ + Parameters used in line search based on the Wolfe conditions. (bfgs only) + """ + fire_alpha_init: Optional[float] = 0.2 + """ + Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3 + """ + fire_falpha: Optional[float] = 0.99 + """ + Scaling of the alpha mixing parameter for steps with P > 0; + """ + fire_nmin: Optional[int] = 5 + """ + Minimum number of steps with P > 0 before increase of dt + """ + fire_f_inc: Optional[float] = 1.1 + """ + Factor for increasing dt + """ + fire_f_dec: Optional[float] = 0.5 + """ + Factor for decreasing dt + """ + fire_dtmax: Optional[float] = 10 + """ + Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt + """ + ion_dynamics: Optional[IonDynamics7] = "beeman" + """ + CASE: calculation == 'vc-md' + """ + + +class CellDofree(Enum): + all = "all" + ibrav = "ibrav" + a = "a" + b = "b" + c = "c" + fixa = "fixa" + fixb = "fixb" + fixc = "fixc" + x = "x" + y = "y" + xy = "xy" + xz = "xz" + xyz = "xyz" + shape = "shape" + volume = "volume" + field_2Dxy = "2Dxy" + field_2Dshape = "2Dshape" + epitaxial_ab = "epitaxial_ab" + epitaxial_ac = "epitaxial_ac" + epitaxial_bc = "epitaxial_bc" + + +class CellDynamics(Enum): + none = "none" + sd = "sd" + damp_pr = "damp-pr" + damp_w = "damp-w" + bfgs = "bfgs" + + +class CellSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + press: Optional[float] = 0 + """ + Target pressure [KBar] in a variable-cell md or relaxation run. + """ + wmass: Optional[float] = None + """ + Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD + """ + cell_factor: Optional[float] = None + """ + Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise + """ + press_conv_thr: Optional[float] = 0.5 + """ + Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well). + """ + cell_dofree: Optional[CellDofree] = "all" + """ + Select which of the cell parameters should be moved + """ + cell_dynamics: Optional[CellDynamics] = "bfgs" + """ + CASE ( calculation == 'vc-relax' ) + """ + + +class CellDynamics3(Enum): + none = "none" + pr = "pr" + w = "w" + + +class CellSchema3(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + press: Optional[float] = 0 + """ + Target pressure [KBar] in a variable-cell md or relaxation run. + """ + wmass: Optional[float] = None + """ + Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD + """ + cell_factor: Optional[float] = None + """ + Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise + """ + press_conv_thr: Optional[float] = 0.5 + """ + Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well). + """ + cell_dofree: Optional[CellDofree] = "all" + """ + Select which of the cell parameters should be moved + """ + cell_dynamics: Optional[CellDynamics3] = None + """ + CASE ( calculation == 'vc-md' ) + """ + + +class Value(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters) + """ + Mass_X: Optional[float] = None + """ + mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided) + """ + PseudoPot_X: Optional[str] = None + """ + PseudoPot_X + """ + + +class AtomicSpeciesSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + values: Optional[List[Value]] = None + + +class CardOption(Enum): + alat = "alat" + bohr = "bohr" + angstrom = "angstrom" + crystal = "crystal" + crystal_sg = "crystal_sg" + + +class Value143(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom as specified in ATOMIC_SPECIES + """ + x: float + """ + atomic positions + """ + y: float + """ + atomic positions + """ + z: float + """ + atomic positions + """ + if_pos_1_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(1)", title="integer one or zero") + if_pos_2_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(2)", title="integer one or zero") + if_pos_3_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(3)", title="integer one or zero") + + +class AtomicPositionsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + card_option: Optional[CardOption] = "alat" + values: Optional[List[Value143]] = None + + +class CardOption5(Enum): + tpiba = "tpiba" + automatic = "automatic" + crystal = "crystal" + gamma = "gamma" + tpiba_b = "tpiba_b" + crystal_b = "crystal_b" + tpiba_c = "tpiba_c" + crystal_c = "crystal_c" + + +class Value144(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nks: Optional[int] = None + """ + Number of supplied special k-points. + """ + xk_x: Optional[float] = None + xk_y: Optional[float] = None + xk_z: Optional[float] = None + wk: Optional[float] = None + + +class Values(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nk1: Optional[int] = None + """ + Number of supplied special k-points. + """ + nk2: Optional[int] = None + """ + Number of supplied special k-points. + """ + nk3: Optional[int] = None + """ + Number of supplied special k-points. + """ + sk1: Optional[int] = None + """ + Number of supplied special k-points. + """ + sk2: Optional[int] = None + """ + Number of supplied special k-points. + """ + sk3: Optional[int] = None + """ + Number of supplied special k-points. + """ + + +class KPointsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + card_option: Optional[CardOption5] = None + values: Optional[Union[List[Value144], Values]] = None + + +class CardOption6(Enum): + alat = "alat" + bohr = "bohr" + angstrom = "angstrom" + + +class Values8(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + v1: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + v2: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + v3: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + + +class CellParametersSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + card_option: Optional[CardOption6] = None + """ + label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters) + """ + values: Optional[Values8] = None + + +class CardOption7(Enum): + atomic = "atomic" + ortho_atomic = "ortho-atomic" + norm_atomic = "norm-atomic" + wf = "wf" + pseudo = "pseudo" + + +class U(Enum): + U = "U" + + +class Values9(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + U_1: Optional[U] = Field(None, alias="U") + """ + string constant "U"; indicates the specs for the U parameter will be given + """ + label: Optional[str] = None + """ + label of the atom (as defined in ATOMIC_SPECIES) + """ + manifold: Optional[str] = None + """ + specs of the manifold (e.g., 3d, 2p...) + """ + u_val: Optional[float] = None + """ + value of the U parameter (in eV) + """ + + +class J0(Enum): + J0 = "J0" + + +class Values10(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + J0_1: Optional[J0] = Field(None, alias="J0") + """ + string constant "J0"; indicates the specs for the J0 parameter will be given + """ + label: Optional[str] = None + """ + label of the atom (as defined in ATOMIC_SPECIES) + """ + manifold: Optional[str] = None + """ + specs of the manifold (e.g., 3d, 2p...) + """ + j0_val: Optional[float] = None + """ + value of the J0 parameter (in eV) + """ + + +class ParamType(Enum): + U = "U" + J = "J" + B = "B" + E2 = "E2" + E3 = "E3" + + +class Value145(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + paramType: Optional[ParamType] = None + """ + character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals) + """ + label: Optional[str] = None + """ + label of the atom (as defined in ATOMIC_SPECIES) + """ + manifold: Optional[str] = None + """ + specs of the manifold (e.g., 3d, 2p...) + """ + paramValue: Optional[float] = None + """ + value of the J0 parameter (in eV) + """ + + +class Values11(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + U_1: Optional[U] = Field(None, alias="U") + """ + string constant "U"; indicates the specs for the U parameter will be given + """ + label: Optional[str] = None + """ + label of the atom (as defined in ATOMIC_SPECIES) + """ + manifold: Optional[str] = None + """ + specs of the manifold (e.g., 3d, 2p...) + """ + u_val: Optional[float] = None + """ + value of the U parameter (in eV) + """ + + +class Values12(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + J0_1: Optional[J0] = Field(None, alias="J0") + """ + string constant "J0"; indicates the specs for the J0 parameter will be given + """ + label: Optional[str] = None + """ + label of the atom (as defined in ATOMIC_SPECIES) + """ + manifold: Optional[str] = None + """ + specs of the manifold (e.g., 3d, 2p...) + """ + j0_val: Optional[float] = None + """ + value of the J0 parameter (in eV) + """ + + +class V(Enum): + V = "V" + + +class Values13(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + V_1: Optional[V] = Field(None, alias="V") + """ + string constant "V"; indicates the specs for the V parameter will be given + """ + label_I_: Optional[str] = Field(None, alias="label(I)") + """ + label of the atom I (as defined in ATOMIC_SPECIES) + """ + manifold_I_: Optional[str] = Field(None, alias="manifold(I)") + """ + specs of the manifold for atom I (e.g., 3d, 2p...) + """ + label_J_: Optional[str] = Field(None, alias="label(J)") + """ + label of the atom J (as defined in ATOMIC_SPECIES) + """ + manifold_J_: Optional[str] = Field(None, alias="manifold(J)") + """ + specs of the manifold for atom J (e.g., 3d, 2p...) + """ + I: Optional[int] = None + """ + index of the atom I + """ + J: Optional[int] = None + """ + index of the atom J + """ + v_val_I_J_: Optional[float] = Field(None, alias="v_val(I,J)") + """ + value of the V parameter for the atom pair I,J (in eV) + """ + + +class HubbardSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + card_option: Optional[CardOption7] = None + values: Optional[ + Union[List[Union[Values9, Values10]], List[Value145], List[Union[Values11, Values12, Values13]]] + ] = None + + +class PwxMainSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + field_CONTROL: Optional[ControlSchema] = Field(None, alias="&CONTROL", title="control schema") + field_SYSTEM: Optional[Union[SystemSchema, SystemSchema1]] = Field(None, alias="&SYSTEM", title="system schema") + field_ELECTRONS: Optional[ElectronsSchema] = Field(None, alias="&ELECTRONS", title="electrons schema") + field_IONS: Optional[Union[IonsSchema, IonsSchema5, IonsSchema6, IonsSchema7]] = Field(None, alias="&IONS") + field_CELL: Optional[Union[CellSchema, CellSchema3]] = Field(None, alias="&CELL") + ATOMIC_SPECIES: Optional[AtomicSpeciesSchema] = Field(None, title="atomic species schema") + ATOMIC_POSITIONS: Optional[AtomicPositionsSchema] = Field(None, title="atomic positions schema") + """ + https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493 + """ + K_POINTS: Optional[KPointsSchema] = Field(None, title="k points schema") + CELL_PARAMETERS: Optional[CellParametersSchema] = Field(None, title="cell parameters schema") + HUBBARD: Optional[HubbardSchema] = Field(None, title="hubbard schema") diff --git a/src/py/mat3ra/esse/models/workflow/unit/runtime/__init__.py b/dist/py/apse/materials/builders/slab/pymatgen/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/workflow/unit/runtime/__init__.py rename to dist/py/apse/materials/builders/slab/pymatgen/__init__.py diff --git a/dist/py/apse/materials/builders/slab/pymatgen/parameters.py b/dist/py/apse/materials/builders/slab/pymatgen/parameters.py new file mode 100644 index 000000000..964de863b --- /dev/null +++ b/dist/py/apse/materials/builders/slab/pymatgen/parameters.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: apse/materials/builders/slab/pymatgen/parameters.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional, Union + +from pydantic import BaseModel, confloat, conint + + +class PymatgenSlabGeneratorParametersSchema(BaseModel): + min_vacuum_size: Optional[Union[conint(ge=0), confloat(ge=0.0)]] = 0 + """ + Minimum size of the vacuum in layers or angstroms + """ + in_unit_planes: Optional[bool] = True + """ + Whether to use unit planes for the vacuum and slab size + """ + reorient_lattice: Optional[bool] = True + """ + Whether to reorient the lattice to have c vector along the z-axis + """ + symmetrize: Optional[bool] = True + """ + Whether to symmetrize the slab + """ diff --git a/dist/py/context_provider.py b/dist/py/context_provider.py new file mode 100644 index 000000000..a34def1e7 --- /dev/null +++ b/dist/py/context_provider.py @@ -0,0 +1,69 @@ +# generated by datamodel-codegen: +# filename: context_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, Optional + +from pydantic import BaseModel, ConfigDict + + +class Name(Enum): + PlanewaveCutoffDataManager = "PlanewaveCutoffDataManager" + KGridFormDataManager = "KGridFormDataManager" + QGridFormDataManager = "QGridFormDataManager" + IGridFormDataManager = "IGridFormDataManager" + QPathFormDataManager = "QPathFormDataManager" + IPathFormDataManager = "IPathFormDataManager" + KPathFormDataManager = "KPathFormDataManager" + ExplicitKPathFormDataManager = "ExplicitKPathFormDataManager" + ExplicitKPath2PIBAFormDataManager = "ExplicitKPath2PIBAFormDataManager" + HubbardJContextManager = "HubbardJContextManager" + HubbardUContextManager = "HubbardUContextManager" + HubbardVContextManager = "HubbardVContextManager" + HubbardContextManagerLegacy = "HubbardContextManagerLegacy" + NEBFormDataManager = "NEBFormDataManager" + BoundaryConditionsFormDataManager = "BoundaryConditionsFormDataManager" + MLSettingsDataManager = "MLSettingsDataManager" + MLTrainTestSplitDataManager = "MLTrainTestSplitDataManager" + IonDynamicsContextProvider = "IonDynamicsContextProvider" + CollinearMagnetizationDataManager = "CollinearMagnetizationDataManager" + NonCollinearMagnetizationDataManager = "NonCollinearMagnetizationDataManager" + QEPWXInputDataManager = "QEPWXInputDataManager" + QENEBInputDataManager = "QENEBInputDataManager" + VASPInputDataManager = "VASPInputDataManager" + VASPNEBInputDataManager = "VASPNEBInputDataManager" + NWChemInputDataManager = "NWChemInputDataManager" + + +class ContextProviderSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + name: Name + domain: Optional[str] = None + """ + domain of the context provider + """ + entityName: Optional[str] = None + """ + entity name associated with the context provider + """ + data: Optional[Dict[str, Any]] = None + """ + data object for the context provider + """ + extraData: Optional[Dict[str, Any]] = None + """ + additional data object for the context provider + """ + isEdited: Optional[bool] = None + """ + flag indicating if the context provider has been edited + """ + context: Optional[Dict[str, Any]] = None + """ + context object for the context provider + """ diff --git a/dist/py/context_providers_directory/__init__.py b/dist/py/context_providers_directory/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/context_providers_directory/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/src/py/mat3ra/esse/models/context_providers_directory/boundary_conditions_data_provider.py b/dist/py/context_providers_directory/boundary_conditions_provider.py similarity index 89% rename from src/py/mat3ra/esse/models/context_providers_directory/boundary_conditions_data_provider.py rename to dist/py/context_providers_directory/boundary_conditions_provider.py index 5d09c149d..f5c3d1365 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/boundary_conditions_data_provider.py +++ b/dist/py/context_providers_directory/boundary_conditions_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/boundary_conditions_data_provider.json +# filename: context_providers_directory/boundary_conditions_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/dist/py/context_providers_directory/by_application/__init__.py b/dist/py/context_providers_directory/by_application/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/context_providers_directory/by_application/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/context_providers_directory/by_application/nwchem_total_energy_context_provider.py b/dist/py/context_providers_directory/by_application/nwchem_total_energy_context_provider.py new file mode 100644 index 000000000..49cbe015d --- /dev/null +++ b/dist/py/context_providers_directory/by_application/nwchem_total_energy_context_provider.py @@ -0,0 +1,50 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/by_application/nwchem_total_energy_context_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class NWChemTotalEnergyContextProviderSchema(BaseModel): + CHARGE: int + """ + Total charge of the system. + """ + MULT: int + """ + Spin multiplicity of the system. + """ + BASIS: str + """ + Basis set label used in the calculation (e.g., '6-31G'). + """ + NAT: int + """ + Number of atoms in the system. + """ + NTYP: int + """ + Number of unique atomic species in the system. + """ + ATOMIC_POSITIONS: str + """ + Formatted text block with atomic positions including constraints. + """ + ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: str + """ + Formatted text block with atomic positions without constraints. + """ + ATOMIC_SPECIES: str + """ + Formatted text block for atomic species, including element symbols and masses. + """ + FUNCTIONAL: str + """ + Exchange-correlation functional identifier (e.g., 'B3LYP'). + """ + CARTESIAN: bool + """ + Whether atomic positions are expressed in cartesian coordinates. + """ diff --git a/dist/py/context_providers_directory/by_application/qe_neb_context_provider.py b/dist/py/context_providers_directory/by_application/qe_neb_context_provider.py new file mode 100644 index 000000000..9e1ab5115 --- /dev/null +++ b/dist/py/context_providers_directory/by_application/qe_neb_context_provider.py @@ -0,0 +1,122 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/by_application/qe_neb_context_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field, conint + + +class RESTARTMODE(Enum): + from_scratch = "from_scratch" + restart = "restart" + + +class ATOMICSPECY(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters) + """ + Mass_X: Optional[float] = None + """ + mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided) + """ + PseudoPot_X: Optional[str] = None + """ + PseudoPot_X + """ + + +class ATOMICSPECIESWITHLABEL(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters) + """ + Mass_X: Optional[float] = None + """ + mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided) + """ + PseudoPot_X: Optional[str] = None + """ + PseudoPot_X + """ + + +class ATOMICPOSITION(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom as specified in ATOMIC_SPECIES + """ + x: float + """ + atomic positions + """ + y: float + """ + atomic positions + """ + z: float + """ + atomic positions + """ + if_pos_1_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(1)", title="integer one or zero") + if_pos_2_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(2)", title="integer one or zero") + if_pos_3_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(3)", title="integer one or zero") + + +class CELLPARAMETERS(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + v1: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + v2: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + v3: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + + +class QENEBContextProviderSchema(BaseModel): + IBRAV: int + RESTART_MODE: Optional[RESTARTMODE] = "from_scratch" + ATOMIC_SPECIES: List[ATOMICSPECY] + ATOMIC_SPECIES_WITH_LABELS: List[ATOMICSPECIESWITHLABEL] + NAT: int + """ + number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms) + """ + NTYP: int + """ + number of types of atoms in the unit cell + """ + NTYP_WITH_LABELS: conint(ge=1) + """ + Number of different atomic species including labels + """ + ATOMIC_POSITIONS: Optional[List[ATOMICPOSITION]] = None + ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: Optional[str] = None + """ + Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line + """ + CELL_PARAMETERS: CELLPARAMETERS + FIRST_IMAGE: str + """ + Atomic positions block (ATOMIC_POSITIONS) for the first NEB image. + """ + LAST_IMAGE: str + """ + Atomic positions block (ATOMIC_POSITIONS) for the last NEB image. + """ + INTERMEDIATE_IMAGES: List[str] + """ + Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images. + """ diff --git a/dist/py/context_providers_directory/by_application/qe_pwx_base_context_provider.py b/dist/py/context_providers_directory/by_application/qe_pwx_base_context_provider.py new file mode 100644 index 000000000..f04215cfd --- /dev/null +++ b/dist/py/context_providers_directory/by_application/qe_pwx_base_context_provider.py @@ -0,0 +1,110 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/by_application/qe_pwx_base_context_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field, conint + + +class RESTARTMODE(Enum): + from_scratch = "from_scratch" + restart = "restart" + + +class ATOMICSPECY(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters) + """ + Mass_X: Optional[float] = None + """ + mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided) + """ + PseudoPot_X: Optional[str] = None + """ + PseudoPot_X + """ + + +class ATOMICSPECIESWITHLABEL(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters) + """ + Mass_X: Optional[float] = None + """ + mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided) + """ + PseudoPot_X: Optional[str] = None + """ + PseudoPot_X + """ + + +class ATOMICPOSITION(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom as specified in ATOMIC_SPECIES + """ + x: float + """ + atomic positions + """ + y: float + """ + atomic positions + """ + z: float + """ + atomic positions + """ + if_pos_1_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(1)", title="integer one or zero") + if_pos_2_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(2)", title="integer one or zero") + if_pos_3_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(3)", title="integer one or zero") + + +class CELLPARAMETERS(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + v1: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + v2: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + v3: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + + +class QEPwxBaseContextProviderSchema(BaseModel): + IBRAV: Optional[int] = None + RESTART_MODE: Optional[RESTARTMODE] = "from_scratch" + ATOMIC_SPECIES: Optional[List[ATOMICSPECY]] = None + ATOMIC_SPECIES_WITH_LABELS: Optional[List[ATOMICSPECIESWITHLABEL]] = None + NAT: Optional[int] = None + """ + number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms) + """ + NTYP: Optional[int] = None + """ + number of types of atoms in the unit cell + """ + NTYP_WITH_LABELS: Optional[conint(ge=1)] = None + """ + Number of different atomic species including labels + """ + ATOMIC_POSITIONS: Optional[List[ATOMICPOSITION]] = None + ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: Optional[str] = None + """ + Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line + """ + CELL_PARAMETERS: Optional[CELLPARAMETERS] = None diff --git a/dist/py/context_providers_directory/by_application/qe_pwx_context_provider.py b/dist/py/context_providers_directory/by_application/qe_pwx_context_provider.py new file mode 100644 index 000000000..1d4e65a77 --- /dev/null +++ b/dist/py/context_providers_directory/by_application/qe_pwx_context_provider.py @@ -0,0 +1,110 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/by_application/qe_pwx_context_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field, conint + + +class RESTARTMODE(Enum): + from_scratch = "from_scratch" + restart = "restart" + + +class ATOMICSPECY(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters) + """ + Mass_X: Optional[float] = None + """ + mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided) + """ + PseudoPot_X: Optional[str] = None + """ + PseudoPot_X + """ + + +class ATOMICSPECIESWITHLABEL(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters) + """ + Mass_X: Optional[float] = None + """ + mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided) + """ + PseudoPot_X: Optional[str] = None + """ + PseudoPot_X + """ + + +class ATOMICPOSITION(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + X: Optional[str] = None + """ + label of the atom as specified in ATOMIC_SPECIES + """ + x: float + """ + atomic positions + """ + y: float + """ + atomic positions + """ + z: float + """ + atomic positions + """ + if_pos_1_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(1)", title="integer one or zero") + if_pos_2_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(2)", title="integer one or zero") + if_pos_3_: Optional[conint(ge=0, le=1)] = Field(None, alias="if_pos(3)", title="integer one or zero") + + +class CELLPARAMETERS(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + v1: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + v2: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + v3: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="array of 3 number elements schema") + + +class QEPwxContextProviderSchema(BaseModel): + IBRAV: int + RESTART_MODE: Optional[RESTARTMODE] = "from_scratch" + ATOMIC_SPECIES: List[ATOMICSPECY] + ATOMIC_SPECIES_WITH_LABELS: List[ATOMICSPECIESWITHLABEL] + NAT: int + """ + number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms) + """ + NTYP: int + """ + number of types of atoms in the unit cell + """ + NTYP_WITH_LABELS: conint(ge=1) + """ + Number of different atomic species including labels + """ + ATOMIC_POSITIONS: List[ATOMICPOSITION] + ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: str + """ + Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line + """ + CELL_PARAMETERS: CELLPARAMETERS diff --git a/dist/py/context_providers_directory/by_application/vasp_context_provider.py b/dist/py/context_providers_directory/by_application/vasp_context_provider.py new file mode 100644 index 000000000..79e00215f --- /dev/null +++ b/dist/py/context_providers_directory/by_application/vasp_context_provider.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/by_application/vasp_context_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class VASPContextProviderSchema(BaseModel): + POSCAR: str + """ + POSCAR content for VASP including lattice, atom types, positions and constraints. + """ + POSCAR_WITH_CONSTRAINTS: str + """ + POSCAR content for VASP including lattice, atom types, positions and constraints. May differ in how constraints are represented. + """ diff --git a/dist/py/context_providers_directory/by_application/vasp_neb_context_provider.py b/dist/py/context_providers_directory/by_application/vasp_neb_context_provider.py new file mode 100644 index 000000000..ad539f45d --- /dev/null +++ b/dist/py/context_providers_directory/by_application/vasp_neb_context_provider.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/by_application/vasp_neb_context_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel + + +class VASPNEBContextProviderSchema(BaseModel): + FIRST_IMAGE: str + """ + POSCAR content with constraints for the first NEB image. + """ + LAST_IMAGE: str + """ + POSCAR content with constraints for the last NEB image. + """ + INTERMEDIATE_IMAGES: List[str] + """ + POSCAR contents with constraints for all intermediate NEB images. + """ diff --git a/src/py/mat3ra/esse/models/context_providers_directory/collinear_magnetization_context_provider.py b/dist/py/context_providers_directory/collinear_magnetization_provider.py similarity index 96% rename from src/py/mat3ra/esse/models/context_providers_directory/collinear_magnetization_context_provider.py rename to dist/py/context_providers_directory/collinear_magnetization_provider.py index 77218e336..6587d2699 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/collinear_magnetization_context_provider.py +++ b/dist/py/context_providers_directory/collinear_magnetization_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/collinear_magnetization_context_provider.json +# filename: context_providers_directory/collinear_magnetization_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/dist/py/context_providers_directory/enum.py b/dist/py/context_providers_directory/enum.py new file mode 100644 index 000000000..18cd59aac --- /dev/null +++ b/dist/py/context_providers_directory/enum.py @@ -0,0 +1,42 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/enum.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any + + +class ContextProviderNameEnum(Enum): + PlanewaveCutoffDataManager = "PlanewaveCutoffDataManager" + KGridFormDataManager = "KGridFormDataManager" + QGridFormDataManager = "QGridFormDataManager" + IGridFormDataManager = "IGridFormDataManager" + QPathFormDataManager = "QPathFormDataManager" + IPathFormDataManager = "IPathFormDataManager" + KPathFormDataManager = "KPathFormDataManager" + ExplicitKPathFormDataManager = "ExplicitKPathFormDataManager" + ExplicitKPath2PIBAFormDataManager = "ExplicitKPath2PIBAFormDataManager" + HubbardJContextManager = "HubbardJContextManager" + HubbardUContextManager = "HubbardUContextManager" + HubbardVContextManager = "HubbardVContextManager" + HubbardContextManagerLegacy = "HubbardContextManagerLegacy" + NEBFormDataManager = "NEBFormDataManager" + BoundaryConditionsFormDataManager = "BoundaryConditionsFormDataManager" + MLSettingsDataManager = "MLSettingsDataManager" + MLTrainTestSplitDataManager = "MLTrainTestSplitDataManager" + IonDynamicsContextProvider = "IonDynamicsContextProvider" + CollinearMagnetizationDataManager = "CollinearMagnetizationDataManager" + NonCollinearMagnetizationDataManager = "NonCollinearMagnetizationDataManager" + QEPWXInputDataManager = "QEPWXInputDataManager" + QENEBInputDataManager = "QENEBInputDataManager" + VASPInputDataManager = "VASPInputDataManager" + VASPNEBInputDataManager = "VASPNEBInputDataManager" + NWChemInputDataManager = "NWChemInputDataManager" diff --git a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_j_context_provider.py b/dist/py/context_providers_directory/hubbard_j_provider.py similarity index 91% rename from src/py/mat3ra/esse/models/context_providers_directory/hubbard_j_context_provider.py rename to dist/py/context_providers_directory/hubbard_j_provider.py index 56f80c7d4..ba7ea4fb1 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_j_context_provider.py +++ b/dist/py/context_providers_directory/hubbard_j_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/hubbard_j_context_provider.json +# filename: context_providers_directory/hubbard_j_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_legacy_context_provider.py b/dist/py/context_providers_directory/hubbard_legacy_provider.py similarity index 89% rename from src/py/mat3ra/esse/models/context_providers_directory/hubbard_legacy_context_provider.py rename to dist/py/context_providers_directory/hubbard_legacy_provider.py index 80d2f44ef..e39e3530f 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_legacy_context_provider.py +++ b/dist/py/context_providers_directory/hubbard_legacy_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/hubbard_legacy_context_provider.json +# filename: context_providers_directory/hubbard_legacy_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_u_context_provider.py b/dist/py/context_providers_directory/hubbard_u_provider.py similarity index 90% rename from src/py/mat3ra/esse/models/context_providers_directory/hubbard_u_context_provider.py rename to dist/py/context_providers_directory/hubbard_u_provider.py index cd8758233..3ae749b58 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_u_context_provider.py +++ b/dist/py/context_providers_directory/hubbard_u_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/hubbard_u_context_provider.json +# filename: context_providers_directory/hubbard_u_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_v_context_provider.py b/dist/py/context_providers_directory/hubbard_v_provider.py similarity index 92% rename from src/py/mat3ra/esse/models/context_providers_directory/hubbard_v_context_provider.py rename to dist/py/context_providers_directory/hubbard_v_provider.py index eb7b7a1a8..12e05d170 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_v_context_provider.py +++ b/dist/py/context_providers_directory/hubbard_v_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/hubbard_v_context_provider.json +# filename: context_providers_directory/hubbard_v_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/ion_dynamics_context_provider.py b/dist/py/context_providers_directory/ion_dynamics_provider.py similarity index 86% rename from src/py/mat3ra/esse/models/context_providers_directory/ion_dynamics_context_provider.py rename to dist/py/context_providers_directory/ion_dynamics_provider.py index 89492b88c..e9736e9b7 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/ion_dynamics_context_provider.py +++ b/dist/py/context_providers_directory/ion_dynamics_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/ion_dynamics_context_provider.json +# filename: context_providers_directory/ion_dynamics_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/ml_settings_context_provider.py b/dist/py/context_providers_directory/ml_settings_provider.py similarity index 85% rename from src/py/mat3ra/esse/models/context_providers_directory/ml_settings_context_provider.py rename to dist/py/context_providers_directory/ml_settings_provider.py index 0bc565f7b..e08e8af0f 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/ml_settings_context_provider.py +++ b/dist/py/context_providers_directory/ml_settings_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/ml_settings_context_provider.json +# filename: context_providers_directory/ml_settings_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/ml_train_test_split_context_provider.py b/dist/py/context_providers_directory/ml_train_test_split_provider.py similarity index 77% rename from src/py/mat3ra/esse/models/context_providers_directory/ml_train_test_split_context_provider.py rename to dist/py/context_providers_directory/ml_train_test_split_provider.py index a1169a035..cde060203 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/ml_train_test_split_context_provider.py +++ b/dist/py/context_providers_directory/ml_train_test_split_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/ml_train_test_split_context_provider.json +# filename: context_providers_directory/ml_train_test_split_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/neb_data_provider.py b/dist/py/context_providers_directory/neb_provider.py similarity index 77% rename from src/py/mat3ra/esse/models/context_providers_directory/neb_data_provider.py rename to dist/py/context_providers_directory/neb_provider.py index ac4f93998..a6ac879cf 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/neb_data_provider.py +++ b/dist/py/context_providers_directory/neb_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/neb_data_provider.json +# filename: context_providers_directory/neb_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/non_collinear_magnetization_context_provider.py b/dist/py/context_providers_directory/non_collinear_magnetization_provider.py similarity index 98% rename from src/py/mat3ra/esse/models/context_providers_directory/non_collinear_magnetization_context_provider.py rename to dist/py/context_providers_directory/non_collinear_magnetization_provider.py index fd54270c7..f99276c11 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/non_collinear_magnetization_context_provider.py +++ b/dist/py/context_providers_directory/non_collinear_magnetization_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/non_collinear_magnetization_context_provider.json +# filename: context_providers_directory/non_collinear_magnetization_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/planewave_cutoffs_context_provider.py b/dist/py/context_providers_directory/planewave_cutoffs_provider.py similarity index 77% rename from src/py/mat3ra/esse/models/context_providers_directory/planewave_cutoffs_context_provider.py rename to dist/py/context_providers_directory/planewave_cutoffs_provider.py index 378d20c4f..e7043e957 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/planewave_cutoffs_context_provider.py +++ b/dist/py/context_providers_directory/planewave_cutoffs_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/planewave_cutoffs_context_provider.json +# filename: context_providers_directory/planewave_cutoffs_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/points_grid_data_provider.py b/dist/py/context_providers_directory/points_grid_provider.py similarity index 90% rename from src/py/mat3ra/esse/models/context_providers_directory/points_grid_data_provider.py rename to dist/py/context_providers_directory/points_grid_provider.py index 17bbd83fd..18d0dd41d 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/points_grid_data_provider.py +++ b/dist/py/context_providers_directory/points_grid_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/points_grid_data_provider.json +# filename: context_providers_directory/points_grid_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/src/py/mat3ra/esse/models/context_providers_directory/points_path_data_provider.py b/dist/py/context_providers_directory/points_path_provider.py similarity index 88% rename from src/py/mat3ra/esse/models/context_providers_directory/points_path_data_provider.py rename to dist/py/context_providers_directory/points_path_provider.py index 738c0b8e7..56ded8441 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/points_path_data_provider.py +++ b/dist/py/context_providers_directory/points_path_provider.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/points_path_data_provider.json +# filename: context_providers_directory/points_path_provider.json # version: 0.28.5 from __future__ import annotations diff --git a/dist/py/core/__init__.py b/dist/py/core/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/core/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/core/abstract/_2d_data.py b/dist/py/core/abstract/_2d_data.py new file mode 100644 index 000000000..1ab0cfa8d --- /dev/null +++ b/dist/py/core/abstract/_2d_data.py @@ -0,0 +1,17 @@ +# generated by datamodel-codegen: +# filename: core/abstract/2d_data.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Union + +from pydantic import BaseModel, Field + + +class Field2DimensionDataSchema(BaseModel): + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/core/abstract/_2d_plot.py b/dist/py/core/abstract/_2d_plot.py new file mode 100644 index 000000000..b5e40f583 --- /dev/null +++ b/dist/py/core/abstract/_2d_plot.py @@ -0,0 +1,30 @@ +# generated by datamodel-codegen: +# filename: core/abstract/2d_plot.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional, Union + +from pydantic import BaseModel, Field + + +class AxisSchema(BaseModel): + label: str + """ + label of an axis object + """ + units: Optional[str] = None + """ + units for an axis + """ + + +class Field2DimensionPlotSchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema = Field(..., title="axis schema") + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/core/abstract/_3d_grid.py b/dist/py/core/abstract/_3d_grid.py new file mode 100644 index 000000000..6621ac7c7 --- /dev/null +++ b/dist/py/core/abstract/_3d_grid.py @@ -0,0 +1,14 @@ +# generated by datamodel-codegen: +# filename: core/abstract/3d_grid.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel, Field + + +class Field3DimensionalGridSchema(BaseModel): + dimensions: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema") + shifts: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema") diff --git a/dist/py/core/abstract/__init__.py b/dist/py/core/abstract/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/core/abstract/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/core/abstract/coordinate_2d.py b/dist/py/core/abstract/coordinate_2d.py new file mode 100644 index 000000000..6aa657021 --- /dev/null +++ b/dist/py/core/abstract/coordinate_2d.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: core/abstract/coordinate_2d.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class Coordinate2dSchema(RootModel[List[float]]): + root: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema") diff --git a/dist/py/core/abstract/coordinate_3d.py b/dist/py/core/abstract/coordinate_3d.py new file mode 100644 index 000000000..3b0f81c7e --- /dev/null +++ b/dist/py/core/abstract/coordinate_3d.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: core/abstract/coordinate_3d.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class Coordinate3dSchema(RootModel[List[float]]): + root: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") diff --git a/dist/py/core/abstract/matrix_3x3.py b/dist/py/core/abstract/matrix_3x3.py new file mode 100644 index 000000000..342d457f3 --- /dev/null +++ b/dist/py/core/abstract/matrix_3x3.py @@ -0,0 +1,17 @@ +# generated by datamodel-codegen: +# filename: core/abstract/matrix_3x3.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class Matrix3x3Schema(RootModel[List[ArrayOf3NumberElementsSchema]]): + root: List[ArrayOf3NumberElementsSchema] = Field(..., max_length=3, min_length=3, title="matrix 3x3 schema") diff --git a/dist/py/core/abstract/vector_2d.py b/dist/py/core/abstract/vector_2d.py new file mode 100644 index 000000000..4d4cb032e --- /dev/null +++ b/dist/py/core/abstract/vector_2d.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: core/abstract/vector_2d.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class Vector2dSchema(RootModel[List[float]]): + root: List[float] = Field(..., max_length=2, min_length=2, title="vector 2d schema") diff --git a/dist/py/core/abstract/vector_3d.py b/dist/py/core/abstract/vector_3d.py new file mode 100644 index 000000000..06bc7de8e --- /dev/null +++ b/dist/py/core/abstract/vector_3d.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: core/abstract/vector_3d.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class Vector3dSchema(RootModel[List[float]]): + root: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") diff --git a/dist/py/core/abstract/vector_boolean_3d.py b/dist/py/core/abstract/vector_boolean_3d.py new file mode 100644 index 000000000..a5f6c7c49 --- /dev/null +++ b/dist/py/core/abstract/vector_boolean_3d.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: core/abstract/vector_boolean_3d.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class ESSE(RootModel[List[bool]]): + root: List[bool] = Field(..., title="vector boolean 3d schema") diff --git a/dist/py/core/primitive/_1d_data_series.py b/dist/py/core/primitive/_1d_data_series.py new file mode 100644 index 000000000..67bfb5162 --- /dev/null +++ b/dist/py/core/primitive/_1d_data_series.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: core/primitive/1d_data_series.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class Field1DimensionDataSeriesSchema(RootModel[List[List[float]]]): + root: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/core/primitive/__init__.py b/dist/py/core/primitive/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/core/primitive/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/core/primitive/array_of_2_numbers.py b/dist/py/core/primitive/array_of_2_numbers.py new file mode 100644 index 000000000..3d4db374e --- /dev/null +++ b/dist/py/core/primitive/array_of_2_numbers.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: core/primitive/array_of_2_numbers.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class ArrayOf2NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., max_length=2, min_length=2, title="array of 2 number elements schema") diff --git a/dist/py/core/primitive/array_of_3_booleans.py b/dist/py/core/primitive/array_of_3_booleans.py new file mode 100644 index 000000000..847933ba1 --- /dev/null +++ b/dist/py/core/primitive/array_of_3_booleans.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: core/primitive/array_of_3_booleans.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class ArrayOf3BooleanElementsSchema(RootModel[List[bool]]): + root: List[bool] = Field(..., max_length=3, min_length=3, title="array of 3 boolean elements schema") diff --git a/dist/py/core/primitive/array_of_3_integers.py b/dist/py/core/primitive/array_of_3_integers.py new file mode 100644 index 000000000..4bd64edbc --- /dev/null +++ b/dist/py/core/primitive/array_of_3_integers.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: core/primitive/array_of_3_integers.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class ArrayOf3IntegerElementsSchema(RootModel[List[int]]): + root: List[int] = Field(..., max_length=3, min_length=3, title="array of 3 integer elements schema") diff --git a/dist/py/core/primitive/array_of_3_numbers.py b/dist/py/core/primitive/array_of_3_numbers.py new file mode 100644 index 000000000..25b44ce52 --- /dev/null +++ b/dist/py/core/primitive/array_of_3_numbers.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: core/primitive/array_of_3_numbers.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema") diff --git a/dist/py/core/primitive/array_of_ids.py b/dist/py/core/primitive/array_of_ids.py new file mode 100644 index 000000000..de4be7f70 --- /dev/null +++ b/dist/py/core/primitive/array_of_ids.py @@ -0,0 +1,23 @@ +# generated by datamodel-codegen: +# filename: core/primitive/array_of_ids.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel, Field, RootModel + + +class ObjectWithId(BaseModel): + id: int + """ + integer id of this entry + """ + + +class ArrayOfIds(RootModel[List[ObjectWithId]]): + root: List[ObjectWithId] = Field(..., title="array of ids") + """ + array of objects containing integer id each + """ diff --git a/dist/py/core/primitive/array_of_strings.py b/dist/py/core/primitive/array_of_strings.py new file mode 100644 index 000000000..80bc9238d --- /dev/null +++ b/dist/py/core/primitive/array_of_strings.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: core/primitive/array_of_strings.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class ArrayOfStrings(RootModel[List[str]]): + root: List[str] = Field(..., title="array of strings") + """ + array of strings, e.g. metadata tags + """ diff --git a/dist/py/core/primitive/axis.py b/dist/py/core/primitive/axis.py new file mode 100644 index 000000000..12d185b5a --- /dev/null +++ b/dist/py/core/primitive/axis.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: core/primitive/axis.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class AxisSchema(BaseModel): + label: str + """ + label of an axis object + """ + units: Optional[str] = None + """ + units for an axis + """ diff --git a/src/py/mat3ra/esse/models/core/reusable/axis_enum.py b/dist/py/core/primitive/axis_3d_names_enum.py similarity index 76% rename from src/py/mat3ra/esse/models/core/reusable/axis_enum.py rename to dist/py/core/primitive/axis_3d_names_enum.py index 792ccc783..695025926 100644 --- a/src/py/mat3ra/esse/models/core/reusable/axis_enum.py +++ b/dist/py/core/primitive/axis_3d_names_enum.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: core/reusable/axis_enum.json +# filename: core/primitive/axis_3d_names_enum.json # version: 0.28.5 from __future__ import annotations diff --git a/dist/py/core/primitive/group_info.py b/dist/py/core/primitive/group_info.py new file mode 100644 index 000000000..c8b076c3c --- /dev/null +++ b/dist/py/core/primitive/group_info.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: core/primitive/group_info.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class GroupInfoSchemaForNodesInAGraph(BaseModel): + groupName: Optional[str] = None + """ + Human-readable name of group of nodes + """ + groupId: Optional[str] = None + """ + Unique identifier of the group a node belongs to + """ diff --git a/dist/py/core/primitive/integer_one_or_zero.py b/dist/py/core/primitive/integer_one_or_zero.py new file mode 100644 index 000000000..d62278265 --- /dev/null +++ b/dist/py/core/primitive/integer_one_or_zero.py @@ -0,0 +1,11 @@ +# generated by datamodel-codegen: +# filename: core/primitive/integer_one_or_zero.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import Field, RootModel, conint + + +class IntegerOneOrZero(RootModel[conint(ge=0, le=1)]): + root: conint(ge=0, le=1) = Field(..., title="integer one or zero") diff --git a/dist/py/core/primitive/integer_positive_single_digit.py b/dist/py/core/primitive/integer_positive_single_digit.py new file mode 100644 index 000000000..52feed010 --- /dev/null +++ b/dist/py/core/primitive/integer_positive_single_digit.py @@ -0,0 +1,11 @@ +# generated by datamodel-codegen: +# filename: core/primitive/integer_positive_single_digit.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import Field, RootModel, conint + + +class IntegerPositiveSingleDigit(RootModel[conint(ge=1, le=9)]): + root: conint(ge=1, le=9) = Field(..., title="integer positive single digit") diff --git a/dist/py/core/primitive/linked_list/__init__.py b/dist/py/core/primitive/linked_list/__init__.py new file mode 100644 index 000000000..0f984c77e --- /dev/null +++ b/dist/py/core/primitive/linked_list/__init__.py @@ -0,0 +1,33 @@ +# generated by datamodel-codegen: +# filename: core/primitive/linked_list.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, List, Union + +from pydantic import Field, RootModel + + +class BasicNodeSchemaLinkedList(RootModel[Dict[str, Any]]): + root: Dict[str, Any] = Field(..., title="basic node schema (linked list)") + + +class NamedNodeSchema(RootModel[Dict[str, Any]]): + root: Dict[str, Any] = Field(..., title="Named node schema") + + +class NamedNodeInGroupSchema(RootModel[Dict[str, Any]]): + root: Dict[str, Any] = Field(..., title="Named node in group schema") + + +class TypedNodeSchema(RootModel[Dict[str, Any]]): + root: Dict[str, Any] = Field(..., title="Typed node schema") + + +class LinkedListSchema( + RootModel[List[Union[BasicNodeSchemaLinkedList, NamedNodeSchema, NamedNodeInGroupSchema, TypedNodeSchema]]] +): + root: List[Union[BasicNodeSchemaLinkedList, NamedNodeSchema, NamedNodeInGroupSchema, TypedNodeSchema]] = Field( + ..., title="linked list schema" + ) diff --git a/dist/py/core/primitive/linked_list/base_node.py b/dist/py/core/primitive/linked_list/base_node.py new file mode 100644 index 000000000..28e00c7d3 --- /dev/null +++ b/dist/py/core/primitive/linked_list/base_node.py @@ -0,0 +1,31 @@ +# generated by datamodel-codegen: +# filename: core/primitive/linked_list/base_node.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class BasicNodeSchemaLinkedList(BaseModel): + next: Optional[str] = None + """ + Flowchart ID of next node + """ + head: Optional[bool] = None + """ + Whether node is head node or not + """ + flowchartId: str + """ + Unique flowchart ID of node + """ + + +class FlowchartId(BaseModel): + flowchartId: str + """ + Unique flowchart ID of node + """ diff --git a/dist/py/core/primitive/linked_list/named_node.py b/dist/py/core/primitive/linked_list/named_node.py new file mode 100644 index 000000000..b11e1fb74 --- /dev/null +++ b/dist/py/core/primitive/linked_list/named_node.py @@ -0,0 +1,35 @@ +# generated by datamodel-codegen: +# filename: core/primitive/linked_list/named_node.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class NamedNodeSchema(BaseModel): + next: Optional[str] = None + """ + Flowchart ID of next node + """ + head: Optional[bool] = None + """ + Whether node is head node or not + """ + flowchartId: str + """ + Unique flowchart ID of node + """ + name: str + """ + entity name + """ + + +class FlowchartId(BaseModel): + flowchartId: str + """ + Unique flowchart ID of node + """ diff --git a/dist/py/core/primitive/linked_list/named_node_in_group.py b/dist/py/core/primitive/linked_list/named_node_in_group.py new file mode 100644 index 000000000..d70a0623b --- /dev/null +++ b/dist/py/core/primitive/linked_list/named_node_in_group.py @@ -0,0 +1,43 @@ +# generated by datamodel-codegen: +# filename: core/primitive/linked_list/named_node_in_group.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class NamedNodeInGroupSchema(BaseModel): + next: Optional[str] = None + """ + Flowchart ID of next node + """ + head: Optional[bool] = None + """ + Whether node is head node or not + """ + flowchartId: str + """ + Unique flowchart ID of node + """ + name: str + """ + entity name + """ + groupName: Optional[str] = None + """ + Human-readable name of group of nodes + """ + groupId: Optional[str] = None + """ + Unique identifier of the group a node belongs to + """ + + +class FlowchartId(BaseModel): + flowchartId: str + """ + Unique flowchart ID of node + """ diff --git a/dist/py/core/primitive/linked_list/node_with_type.py b/dist/py/core/primitive/linked_list/node_with_type.py new file mode 100644 index 000000000..a12e030c1 --- /dev/null +++ b/dist/py/core/primitive/linked_list/node_with_type.py @@ -0,0 +1,32 @@ +# generated by datamodel-codegen: +# filename: core/primitive/linked_list/node_with_type.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class TypedNodeSchema(BaseModel): + type: Optional[str] = None + next: Optional[str] = None + """ + Flowchart ID of next node + """ + head: Optional[bool] = None + """ + Whether node is head node or not + """ + flowchartId: str + """ + Unique flowchart ID of node + """ + + +class FlowchartId(BaseModel): + flowchartId: str + """ + Unique flowchart ID of node + """ diff --git a/dist/py/core/primitive/object_with_id.py b/dist/py/core/primitive/object_with_id.py new file mode 100644 index 000000000..c9273f687 --- /dev/null +++ b/dist/py/core/primitive/object_with_id.py @@ -0,0 +1,14 @@ +# generated by datamodel-codegen: +# filename: core/primitive/object_with_id.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class ObjectWithId(BaseModel): + id: int + """ + integer id of this entry + """ diff --git a/dist/py/core/primitive/object_with_id_and_value.py b/dist/py/core/primitive/object_with_id_and_value.py new file mode 100644 index 000000000..08cd5c48a --- /dev/null +++ b/dist/py/core/primitive/object_with_id_and_value.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: core/primitive/object_with_id_and_value.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import BaseModel + + +class ObjectWithIdAndValueSchema(BaseModel): + value: Any + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ diff --git a/dist/py/core/primitive/scalar.py b/dist/py/core/primitive/scalar.py new file mode 100644 index 000000000..dbf7394af --- /dev/null +++ b/dist/py/core/primitive/scalar.py @@ -0,0 +1,11 @@ +# generated by datamodel-codegen: +# filename: core/primitive/scalar.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class ScalarSchema(BaseModel): + value: float diff --git a/dist/py/core/primitive/slugified_entry.py b/dist/py/core/primitive/slugified_entry.py new file mode 100644 index 000000000..e7b48216d --- /dev/null +++ b/dist/py/core/primitive/slugified_entry.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: core/primitive/slugified_entry.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ diff --git a/dist/py/core/primitive/slugified_entry_or_slug.py b/dist/py/core/primitive/slugified_entry_or_slug.py new file mode 100644 index 000000000..b537cf88a --- /dev/null +++ b/dist/py/core/primitive/slugified_entry_or_slug.py @@ -0,0 +1,27 @@ +# generated by datamodel-codegen: +# filename: core/primitive/slugified_entry_or_slug.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Union + +from pydantic import BaseModel, Field, RootModel + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class ESSE(RootModel[Union[SlugifiedEntry, str]]): + root: Union[SlugifiedEntry, str] = Field(..., title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/core/primitive/string.py b/dist/py/core/primitive/string.py new file mode 100644 index 000000000..b920c315c --- /dev/null +++ b/dist/py/core/primitive/string.py @@ -0,0 +1,11 @@ +# generated by datamodel-codegen: +# filename: core/primitive/string.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class PrimitiveString(BaseModel): + value: str diff --git a/dist/py/core/reference/__init__.py b/dist/py/core/reference/__init__.py new file mode 100644 index 000000000..e2789b0a7 --- /dev/null +++ b/dist/py/core/reference/__init__.py @@ -0,0 +1,260 @@ +# generated by datamodel-codegen: +# filename: core/reference.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field, RootModel, constr + + +class Type(Enum): + exabyte = "exabyte" + + +class EntityReferenceSchema(BaseModel): + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class InfoForCharacteristicObtainedByExabyteCalculation(BaseModel): + type: Optional[Type] = None + title: constr(max_length=300) + """ + Human-readable title of the job + """ + field_id: str = Field(..., alias="_id") + """ + job identifier + """ + owner: EntityReferenceSchema = Field(..., title="entity reference schema") + + +class Type143(Enum): + experiment = "experiment" + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class ScalarItem(BaseModel): + value: Optional[str] = None + + +class ConditionSchema(BaseModel): + units: Optional[str] = None + """ + condition unit + """ + scalar: Optional[List[ScalarItem]] = None + """ + array of condition values + """ + name: str + """ + human-readable name of the condition + """ + + +class LocationSchema(BaseModel): + latitude: float + """ + location latitude + """ + longitude: float + """ + location longitude + """ + + +class Type144(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type144] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class InfoForCharacteristicObtainedByExperiment(BaseModel): + type: Optional[Type143] = None + authors: List[ExperimentAuthorSchema] + """ + experiment authors + """ + title: str + """ + experiment title + """ + method: str + """ + method used in experiment + """ + conditions: List[ConditionSchema] + location: Optional[LocationSchema] = Field(None, title="location schema") + timestamp: float + """ + epoch time. + """ + note: Optional[str] = None + """ + Note about experiment + """ + references: Optional[List[LiteratureReferenceSchema]] = None + """ + references to literature articles + """ + + +class LiteratureReferenceSchema12(BaseModel): + type: Optional[Type144] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class ESSE( + RootModel[ + Union[ + InfoForCharacteristicObtainedByExabyteCalculation, + InfoForCharacteristicObtainedByExperiment, + LiteratureReferenceSchema12, + ] + ] +): + root: Union[ + InfoForCharacteristicObtainedByExabyteCalculation, + InfoForCharacteristicObtainedByExperiment, + LiteratureReferenceSchema12, + ] = Field( + ..., title="reference schema (using `anyOf` instead of `oneOf` below b/c current reference schemas overlap)" + ) diff --git a/dist/py/core/reference/exabyte.py b/dist/py/core/reference/exabyte.py new file mode 100644 index 000000000..b5f525755 --- /dev/null +++ b/dist/py/core/reference/exabyte.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: core/reference/exabyte.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class ESSE(BaseModel): + jobId: str + """ + Job's identity + """ + unitId: str + """ + Id of the unit that extracted the result + """ diff --git a/dist/py/core/reference/experiment/__init__.py b/dist/py/core/reference/experiment/__init__.py new file mode 100644 index 000000000..4edc166dd --- /dev/null +++ b/dist/py/core/reference/experiment/__init__.py @@ -0,0 +1,150 @@ +# generated by datamodel-codegen: +# filename: core/reference/experiment.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, Field + + +class Type(Enum): + experiment = "experiment" + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class ScalarItem(BaseModel): + value: Optional[str] = None + + +class ConditionSchema(BaseModel): + units: Optional[str] = None + """ + condition unit + """ + scalar: Optional[List[ScalarItem]] = None + """ + array of condition values + """ + name: str + """ + human-readable name of the condition + """ + + +class LocationSchema(BaseModel): + latitude: float + """ + location latitude + """ + longitude: float + """ + location longitude + """ + + +class Type73(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type73] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class InfoForCharacteristicObtainedByExperiment(BaseModel): + type: Optional[Type] = None + authors: List[ExperimentAuthorSchema] + """ + experiment authors + """ + title: str + """ + experiment title + """ + method: str + """ + method used in experiment + """ + conditions: List[ConditionSchema] + location: Optional[LocationSchema] = Field(None, title="location schema") + timestamp: float + """ + epoch time. + """ + note: Optional[str] = None + """ + Note about experiment + """ + references: Optional[List[LiteratureReferenceSchema]] = None + """ + references to literature articles + """ diff --git a/dist/py/core/reference/experiment/condition.py b/dist/py/core/reference/experiment/condition.py new file mode 100644 index 000000000..0def1a0dc --- /dev/null +++ b/dist/py/core/reference/experiment/condition.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: core/reference/experiment/condition.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class ScalarItem(BaseModel): + value: Optional[str] = None + + +class ConditionSchema(BaseModel): + units: Optional[str] = None + """ + condition unit + """ + scalar: Optional[List[ScalarItem]] = None + """ + array of condition values + """ + name: str + """ + human-readable name of the condition + """ diff --git a/dist/py/core/reference/experiment/location.py b/dist/py/core/reference/experiment/location.py new file mode 100644 index 000000000..7ae18d64f --- /dev/null +++ b/dist/py/core/reference/experiment/location.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: core/reference/experiment/location.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class LocationSchema(BaseModel): + latitude: float + """ + location latitude + """ + longitude: float + """ + location longitude + """ diff --git a/dist/py/core/reference/literature/__init__.py b/dist/py/core/reference/literature/__init__.py new file mode 100644 index 000000000..9f33941b1 --- /dev/null +++ b/dist/py/core/reference/literature/__init__.py @@ -0,0 +1,86 @@ +# generated by datamodel-codegen: +# filename: core/reference/literature.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, Field + + +class Type(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ diff --git a/dist/py/core/reference/literature/name.py b/dist/py/core/reference/literature/name.py new file mode 100644 index 000000000..152c77ed9 --- /dev/null +++ b/dist/py/core/reference/literature/name.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: core/reference/literature/name.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None diff --git a/dist/py/core/reference/literature/pages.py b/dist/py/core/reference/literature/pages.py new file mode 100644 index 000000000..5d20d5357 --- /dev/null +++ b/dist/py/core/reference/literature/pages.py @@ -0,0 +1,14 @@ +# generated by datamodel-codegen: +# filename: core/reference/literature/pages.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None diff --git a/dist/py/core/reference/modeling/__init__.py b/dist/py/core/reference/modeling/__init__.py new file mode 100644 index 000000000..47dc98b42 --- /dev/null +++ b/dist/py/core/reference/modeling/__init__.py @@ -0,0 +1,49 @@ +# generated by datamodel-codegen: +# filename: core/reference/modeling.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field, RootModel, constr + + +class Type(Enum): + exabyte = "exabyte" + + +class EntityReferenceSchema(BaseModel): + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class InfoForCharacteristicObtainedByExabyteCalculation(BaseModel): + type: Optional[Type] = None + title: constr(max_length=300) + """ + Human-readable title of the job + """ + field_id: str = Field(..., alias="_id") + """ + job identifier + """ + owner: EntityReferenceSchema = Field(..., title="entity reference schema") + + +class ESSE(RootModel[InfoForCharacteristicObtainedByExabyteCalculation]): + root: InfoForCharacteristicObtainedByExabyteCalculation = Field( + ..., + title="info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable", + ) diff --git a/dist/py/core/reference/modeling/exabyte.py b/dist/py/core/reference/modeling/exabyte.py new file mode 100644 index 000000000..df0875011 --- /dev/null +++ b/dist/py/core/reference/modeling/exabyte.py @@ -0,0 +1,42 @@ +# generated by datamodel-codegen: +# filename: core/reference/modeling/exabyte.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field, constr + + +class Type(Enum): + exabyte = "exabyte" + + +class EntityReferenceSchema(BaseModel): + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class InfoForCharacteristicObtainedByExabyteCalculation(BaseModel): + type: Optional[Type] = None + title: constr(max_length=300) + """ + Human-readable title of the job + """ + field_id: str = Field(..., alias="_id") + """ + job identifier + """ + owner: EntityReferenceSchema = Field(..., title="entity reference schema") diff --git a/dist/py/core/reusable/__init__.py b/dist/py/core/reusable/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/core/reusable/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/core/reusable/atomic_data/__init__.py b/dist/py/core/reusable/atomic_data/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/core/reusable/atomic_data/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/core/reusable/atomic_data/per_orbital.py b/dist/py/core/reusable/atomic_data/per_orbital.py new file mode 100644 index 000000000..27c3120ed --- /dev/null +++ b/dist/py/core/reusable/atomic_data/per_orbital.py @@ -0,0 +1,21 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_data/per_orbital.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, constr + + +class AtomicDataPerOrbital(BaseModel): + id: Optional[int] = None + """ + Site number or index in the lattice + """ + atomicSpecies: Optional[constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$")] = None + """ + Example: Co1, Mn + """ + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None diff --git a/dist/py/core/reusable/atomic_data/per_orbital_pair.py b/dist/py/core/reusable/atomic_data/per_orbital_pair.py new file mode 100644 index 000000000..aef9d3492 --- /dev/null +++ b/dist/py/core/reusable/atomic_data/per_orbital_pair.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_data/per_orbital_pair.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, constr + + +class AtomicDataPerOrbitalPair(BaseModel): + id: Optional[int] = None + """ + Site number or index in the lattice + """ + id2: Optional[int] = None + """ + Site number or index in the lattice of second site + """ + atomicSpecies: Optional[constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$")] = None + """ + Example: Co1, Mn + """ + atomicSpecies2: Optional[constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$")] = None + """ + Example: Co2, O + """ + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + orbitalName2: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + distance: Optional[float] = None + """ + Distance between two sites in Bohr. + """ diff --git a/dist/py/core/reusable/atomic_data/value_number.py b/dist/py/core/reusable/atomic_data/value_number.py new file mode 100644 index 000000000..baca4df26 --- /dev/null +++ b/dist/py/core/reusable/atomic_data/value_number.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_data/value_number.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class AtomicDataNumericProperties(BaseModel): + value: Optional[float] = None + """ + Value related to a specific property, e.g., Hubbard U, V etc. + """ diff --git a/dist/py/core/reusable/atomic_data/value_string.py b/dist/py/core/reusable/atomic_data/value_string.py new file mode 100644 index 000000000..71c2fd5b0 --- /dev/null +++ b/dist/py/core/reusable/atomic_data/value_string.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_data/value_string.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class AtomicDataStringProperties(BaseModel): + value: Optional[str] = None + """ + String value specific to atomic data + """ diff --git a/dist/py/core/reusable/atomic_data_per_orbital_numeric.py b/dist/py/core/reusable/atomic_data_per_orbital_numeric.py new file mode 100644 index 000000000..0fc326a13 --- /dev/null +++ b/dist/py/core/reusable/atomic_data_per_orbital_numeric.py @@ -0,0 +1,25 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_data_per_orbital_numeric.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, constr + + +class AtomicDataPerOrbitalNumeric(BaseModel): + id: Optional[int] = None + """ + Site number or index in the lattice + """ + atomicSpecies: Optional[constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$")] = None + """ + Example: Co1, Mn + """ + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + value: Optional[float] = None + """ + Value related to a specific property, e.g., Hubbard U, V etc. + """ diff --git a/dist/py/core/reusable/atomic_data_per_orbital_pair_numeric.py b/dist/py/core/reusable/atomic_data_per_orbital_pair_numeric.py new file mode 100644 index 000000000..495dc506d --- /dev/null +++ b/dist/py/core/reusable/atomic_data_per_orbital_pair_numeric.py @@ -0,0 +1,38 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_data_per_orbital_pair_numeric.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, constr + + +class AtomicDataPerOrbitalPairNumeric(BaseModel): + id: Optional[int] = None + """ + Site number or index in the lattice + """ + id2: Optional[int] = None + """ + Site number or index in the lattice of second site + """ + atomicSpecies: Optional[constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$")] = None + """ + Example: Co1, Mn + """ + atomicSpecies2: Optional[constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$")] = None + """ + Example: Co2, O + """ + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + orbitalName2: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + distance: Optional[float] = None + """ + Distance between two sites in Bohr. + """ + value: Optional[float] = None + """ + Value related to a specific property, e.g., Hubbard U, V etc. + """ diff --git a/dist/py/core/reusable/atomic_orbital.py b/dist/py/core/reusable/atomic_orbital.py new file mode 100644 index 000000000..4a0d884ca --- /dev/null +++ b/dist/py/core/reusable/atomic_orbital.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_orbital.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, confloat, conint, constr + + +class AtomicOrbitalSchema(BaseModel): + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + orbitalIndex: Optional[conint(ge=1)] = None + principalNumber: Optional[conint(ge=1, le=7)] = None + angularMomentum: Optional[conint(ge=0, le=3)] = None + occupation: Optional[confloat(ge=0.0, le=14.0)] = None + """ + Shell occupation + """ diff --git a/dist/py/core/reusable/atomic_scalars.py b/dist/py/core/reusable/atomic_scalars.py new file mode 100644 index 000000000..e76b37962 --- /dev/null +++ b/dist/py/core/reusable/atomic_scalars.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_scalars.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel + + +class ScalarSchema(BaseModel): + value: float + + +class ObjectWithId(BaseModel): + value: Optional[ScalarSchema] = Field(None, title="scalar schema") + id: int + """ + integer id of this entry + """ + + +class AtomicScalarsVectorsSchema(RootModel[List[ObjectWithId]]): + root: List[ObjectWithId] = Field(..., title="atomic scalars vectors schema") + """ + array of objects containing integer id each + """ diff --git a/dist/py/core/reusable/atomic_string.py b/dist/py/core/reusable/atomic_string.py new file mode 100644 index 000000000..5d8fb5e09 --- /dev/null +++ b/dist/py/core/reusable/atomic_string.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_string.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class AtomicStringSchema(BaseModel): + value: str + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ diff --git a/dist/py/core/reusable/atomic_vector.py b/dist/py/core/reusable/atomic_vector.py new file mode 100644 index 000000000..a2dd214a9 --- /dev/null +++ b/dist/py/core/reusable/atomic_vector.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_vector.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel, Field + + +class AtomicVectorSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ diff --git a/dist/py/core/reusable/atomic_vectors.py b/dist/py/core/reusable/atomic_vectors.py new file mode 100644 index 000000000..0b5f8ef43 --- /dev/null +++ b/dist/py/core/reusable/atomic_vectors.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: core/reusable/atomic_vectors.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel, Field, RootModel + + +class AtomicVectorSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class AtomicVectorsSchema(RootModel[List[AtomicVectorSchema]]): + root: List[AtomicVectorSchema] = Field(..., title="atomic vectors schema") diff --git a/dist/py/core/reusable/band_gap.py b/dist/py/core/reusable/band_gap.py new file mode 100644 index 000000000..5e115545c --- /dev/null +++ b/dist/py/core/reusable/band_gap.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: core/reusable/band_gap.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class Type(Enum): + direct = "direct" + indirect = "indirect" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class BandGapSchema(BaseModel): + kpointConduction: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema") + """ + A k-point is a point in reciprocal space of a crystal. + """ + kpointValence: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema") + """ + A k-point is a point in reciprocal space of a crystal. + """ + eigenvalueConduction: Optional[float] = None + """ + eigenvalue at k-point in conduction band + """ + eigenvalueValence: Optional[float] = None + """ + eigenvalue at k-point in valence band + """ + spin: Optional[float] = None + type: Type + units: Optional[Units] = None + value: float diff --git a/dist/py/core/reusable/categories.py b/dist/py/core/reusable/categories.py new file mode 100644 index 000000000..90456ae5d --- /dev/null +++ b/dist/py/core/reusable/categories.py @@ -0,0 +1,43 @@ +# generated by datamodel-codegen: +# filename: core/reusable/categories.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class ReusableCategoriesSchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/core/reusable/category_path.py b/dist/py/core/reusable/category_path.py new file mode 100644 index 000000000..ef4a90ecc --- /dev/null +++ b/dist/py/core/reusable/category_path.py @@ -0,0 +1,14 @@ +# generated by datamodel-codegen: +# filename: core/reusable/category_path.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import Field, RootModel + + +class CategoryPathSchema(RootModel[str]): + root: str = Field(..., title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ diff --git a/dist/py/core/reusable/coordinate_conditions/__init__.py b/dist/py/core/reusable/coordinate_conditions/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/core/reusable/coordinate_conditions/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/core/reusable/coordinate_conditions/base.py b/dist/py/core/reusable/coordinate_conditions/base.py new file mode 100644 index 000000000..38779dd77 --- /dev/null +++ b/dist/py/core/reusable/coordinate_conditions/base.py @@ -0,0 +1,21 @@ +# generated by datamodel-codegen: +# filename: core/reusable/coordinate_conditions/base.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel, Field + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class CoordinateConditionSchema(BaseModel): + shape: CoordinateShapeEnum = Field(..., title="Coordinate Shape Enum") diff --git a/dist/py/core/reusable/coordinate_conditions/box.py b/dist/py/core/reusable/coordinate_conditions/box.py new file mode 100644 index 000000000..f6a980682 --- /dev/null +++ b/dist/py/core/reusable/coordinate_conditions/box.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: core/reusable/coordinate_conditions/box.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Literal + +from pydantic import BaseModel, Field + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class BoxCoordinateConditionSchema(BaseModel): + shape: Literal["box"] = Field("box", title="Coordinate Shape Enum") + min_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + max_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") diff --git a/dist/py/core/reusable/coordinate_conditions/cylinder.py b/dist/py/core/reusable/coordinate_conditions/cylinder.py new file mode 100644 index 000000000..2cf1e7a4d --- /dev/null +++ b/dist/py/core/reusable/coordinate_conditions/cylinder.py @@ -0,0 +1,25 @@ +# generated by datamodel-codegen: +# filename: core/reusable/coordinate_conditions/cylinder.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Literal + +from pydantic import BaseModel, Field, confloat + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class CylinderCoordinateConditionSchema(BaseModel): + shape: Literal["cylinder"] = Field("cylinder", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + min_z: float + max_z: float diff --git a/dist/py/core/reusable/coordinate_conditions/enum.py b/dist/py/core/reusable/coordinate_conditions/enum.py new file mode 100644 index 000000000..14ba9fa78 --- /dev/null +++ b/dist/py/core/reusable/coordinate_conditions/enum.py @@ -0,0 +1,15 @@ +# generated by datamodel-codegen: +# filename: core/reusable/coordinate_conditions/enum.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" diff --git a/dist/py/core/reusable/coordinate_conditions/index.py b/dist/py/core/reusable/coordinate_conditions/index.py new file mode 100644 index 000000000..c5850a939 --- /dev/null +++ b/dist/py/core/reusable/coordinate_conditions/index.py @@ -0,0 +1,80 @@ +# generated by datamodel-codegen: +# filename: core/reusable/coordinate_conditions/index.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Literal, Union + +from pydantic import BaseModel, Field, RootModel, confloat + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class BoxCoordinateConditionSchema(BaseModel): + shape: Literal["box"] = Field("box", title="Coordinate Shape Enum") + min_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + max_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + + +class SphereCoordinateConditionSchema(BaseModel): + shape: Literal["sphere"] = Field("sphere", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + + +class CylinderCoordinateConditionSchema(BaseModel): + shape: Literal["cylinder"] = Field("cylinder", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + min_z: float + max_z: float + + +class TriangularPrismCoordinateConditionSchema(BaseModel): + shape: Literal["triangular_prism"] = Field("triangular_prism", title="Coordinate Shape Enum") + position_on_surface_1: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_2: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_3: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + min_z: float + max_z: float + + +class PlaneCoordinateConditionSchema(BaseModel): + shape: Literal["plane"] = Field("plane", title="Coordinate Shape Enum") + plane_normal: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + plane_point_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + + +class ESSE( + RootModel[ + Union[ + BoxCoordinateConditionSchema, + SphereCoordinateConditionSchema, + CylinderCoordinateConditionSchema, + TriangularPrismCoordinateConditionSchema, + PlaneCoordinateConditionSchema, + ] + ] +): + root: Union[ + BoxCoordinateConditionSchema, + SphereCoordinateConditionSchema, + CylinderCoordinateConditionSchema, + TriangularPrismCoordinateConditionSchema, + PlaneCoordinateConditionSchema, + ] = Field(..., title="Coordinate Conditions Schema") + """ + Combined schema for all coordinate condition types + """ diff --git a/dist/py/core/reusable/coordinate_conditions/plane.py b/dist/py/core/reusable/coordinate_conditions/plane.py new file mode 100644 index 000000000..442bf622e --- /dev/null +++ b/dist/py/core/reusable/coordinate_conditions/plane.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: core/reusable/coordinate_conditions/plane.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Literal + +from pydantic import BaseModel, Field + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class PlaneCoordinateConditionSchema(BaseModel): + shape: Literal["plane"] = Field("plane", title="Coordinate Shape Enum") + plane_normal: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + plane_point_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") diff --git a/dist/py/core/reusable/coordinate_conditions/sphere.py b/dist/py/core/reusable/coordinate_conditions/sphere.py new file mode 100644 index 000000000..9a4c90206 --- /dev/null +++ b/dist/py/core/reusable/coordinate_conditions/sphere.py @@ -0,0 +1,23 @@ +# generated by datamodel-codegen: +# filename: core/reusable/coordinate_conditions/sphere.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Literal + +from pydantic import BaseModel, Field, confloat + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class SphereCoordinateConditionSchema(BaseModel): + shape: Literal["sphere"] = Field("sphere", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) diff --git a/dist/py/core/reusable/coordinate_conditions/triangular_prism.py b/dist/py/core/reusable/coordinate_conditions/triangular_prism.py new file mode 100644 index 000000000..a596d814b --- /dev/null +++ b/dist/py/core/reusable/coordinate_conditions/triangular_prism.py @@ -0,0 +1,33 @@ +# generated by datamodel-codegen: +# filename: core/reusable/coordinate_conditions/triangular_prism.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Literal + +from pydantic import BaseModel, Field + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class TriangularPrismCoordinateConditionSchema(BaseModel): + shape: Literal["triangular_prism"] = Field("triangular_prism", title="Coordinate Shape Enum") + position_on_surface_1: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_2: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_3: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + min_z: float + max_z: float diff --git a/dist/py/core/reusable/dielectric_tensor_component.py b/dist/py/core/reusable/dielectric_tensor_component.py new file mode 100644 index 000000000..ae75a2619 --- /dev/null +++ b/dist/py/core/reusable/dielectric_tensor_component.py @@ -0,0 +1,31 @@ +# generated by datamodel-codegen: +# filename: core/reusable/dielectric_tensor_component.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel + + +class Part(Enum): + real = "real" + imaginary = "imaginary" + + +class DielectricTensor(BaseModel): + part: Part + """ + Real or imaginary part of the dielectric tensor component + """ + spin: Optional[float] = None + frequencies: List[float] + """ + Frequencies + """ + components: List[List[float]] + """ + Matrix with 3 columns, e.g. x, y, z + """ diff --git a/dist/py/core/reusable/energy.py b/dist/py/core/reusable/energy.py new file mode 100644 index 000000000..7df69e1db --- /dev/null +++ b/dist/py/core/reusable/energy.py @@ -0,0 +1,30 @@ +# generated by datamodel-codegen: +# filename: core/reusable/energy.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units186(Enum): + eV_A_2 = "eV/A^2" + + +class EnergySchema(BaseModel): + name: str + units: Union[Units, Units186] + value: float diff --git a/dist/py/core/reusable/energy_accuracy_levels/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py b/dist/py/core/reusable/energy_accuracy_levels/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/core/reusable/energy_accuracy_levels/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/core/reusable/energy_accuracy_levels/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py b/dist/py/core/reusable/energy_accuracy_levels/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py new file mode 100644 index 000000000..aab1a6315 --- /dev/null +++ b/dist/py/core/reusable/energy_accuracy_levels/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py @@ -0,0 +1,31 @@ +# generated by datamodel-codegen: +# filename: core/reusable/energy_accuracy_levels.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Unit(Enum): + Ry = "Ry" + + +class AccuracyLevel(Enum): + standard = "standard" + low = "low" + high = "high" + + +class FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs(BaseModel): + unit: Unit + """ + Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry. + """ + accuracy_level: AccuracyLevel + """ + Accuracy level determines suggested scalar value. + """ + value: float diff --git a/dist/py/core/reusable/file_metadata.py b/dist/py/core/reusable/file_metadata.py new file mode 100644 index 000000000..d90bb3b07 --- /dev/null +++ b/dist/py/core/reusable/file_metadata.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: core/reusable/file_metadata.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class FileMetadata(BaseModel): + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ diff --git a/dist/py/core/reusable/frequency_function_matrix.py b/dist/py/core/reusable/frequency_function_matrix.py new file mode 100644 index 000000000..a5834b07c --- /dev/null +++ b/dist/py/core/reusable/frequency_function_matrix.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: core/reusable/frequency_function_matrix.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class ESSE(BaseModel): + frequencies: Optional[List[float]] = None + """ + Frequencies + """ + components: Optional[List[List[float]]] = None + """ + Matrix with 3 columns, e.g. x, y, z + """ diff --git a/src/py/mat3ra/esse/models/core/abstract/kpoint.py b/dist/py/core/reusable/kpoint.py similarity index 89% rename from src/py/mat3ra/esse/models/core/abstract/kpoint.py rename to dist/py/core/reusable/kpoint.py index 81e00ebec..0bf2cb434 100644 --- a/src/py/mat3ra/esse/models/core/abstract/kpoint.py +++ b/dist/py/core/reusable/kpoint.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: core/abstract/kpoint.json +# filename: core/reusable/kpoint.json # version: 0.28.5 from __future__ import annotations diff --git a/dist/py/core/reusable/object_storage_container_data.py b/dist/py/core/reusable/object_storage_container_data.py new file mode 100644 index 000000000..c5153ad20 --- /dev/null +++ b/dist/py/core/reusable/object_storage_container_data.py @@ -0,0 +1,36 @@ +# generated by datamodel-codegen: +# filename: core/reusable/object_storage_container_data.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ diff --git a/dist/py/core/reusable/scalar_with_accuracy_levels.py b/dist/py/core/reusable/scalar_with_accuracy_levels.py new file mode 100644 index 000000000..91ff245c3 --- /dev/null +++ b/dist/py/core/reusable/scalar_with_accuracy_levels.py @@ -0,0 +1,23 @@ +# generated by datamodel-codegen: +# filename: core/reusable/scalar_with_accuracy_levels.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class AccuracyLevel(Enum): + standard = "standard" + low = "low" + high = "high" + + +class ReusableSchemaForScalarValuesWithAccuracyLevels(BaseModel): + accuracy_level: AccuracyLevel + """ + Accuracy level determines suggested scalar value. + """ + value: float diff --git a/dist/py/definitions/__init__.py b/dist/py/definitions/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/definitions/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/definitions/chemical_elements.py b/dist/py/definitions/chemical_elements.py new file mode 100644 index 000000000..81b934787 --- /dev/null +++ b/dist/py/definitions/chemical_elements.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: definitions/chemical_elements.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import Field, RootModel + + +class ChemicalElementSymbols(RootModel[Any]): + root: Any = Field(..., title="Chemical Element Symbols") diff --git a/dist/py/definitions/constants.py b/dist/py/definitions/constants.py new file mode 100644 index 000000000..e50a2d77a --- /dev/null +++ b/dist/py/definitions/constants.py @@ -0,0 +1,40 @@ +# generated by datamodel-codegen: +# filename: definitions/constants.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class FundamentalConstants(BaseModel): + c: Optional[float] = 299792458 + """ + speed of light in vacuum, "units": "m/s" + """ + h: Optional[float] = 6.62607015e-34 + """ + Planck constant, "units": "J s" + """ + e: Optional[float] = 1.602176634e-19 + """ + elementary charge, "units": "C" + """ + G: Optional[float] = 6.6743015e-11 + """ + Newtonian constant of gravitation, "units": "m^3/kg/s^2" + """ + me: Optional[float] = 9.109383713928e-31 + """ + electron mass "units": "kg" + """ + eps0: Optional[float] = 8.854187818814e-12 + """ + vacuum permittivity, "units": "F/m" + """ + mu0: Optional[float] = 1.256637061272e-06 + """ + vacuum permeability, "units": "N/A^2" + """ diff --git a/src/py/mat3ra/esse/models/definitions/materials.py b/dist/py/definitions/material.py similarity index 86% rename from src/py/mat3ra/esse/models/definitions/materials.py rename to dist/py/definitions/material.py index 1c8eaaeb4..107ff7b73 100644 --- a/src/py/mat3ra/esse/models/definitions/materials.py +++ b/dist/py/definitions/material.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: definitions/materials.json +# filename: definitions/material.json # version: 0.28.5 from __future__ import annotations diff --git a/dist/py/definitions/units.py b/dist/py/definitions/units.py new file mode 100644 index 000000000..89642c2c4 --- /dev/null +++ b/dist/py/definitions/units.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: definitions/units.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import Field, RootModel + + +class AllUnitsDefinitions(RootModel[Any]): + root: Any = Field(..., title="all units definitions") diff --git a/dist/py/element.py b/dist/py/element.py new file mode 100644 index 000000000..0babe34e0 --- /dev/null +++ b/dist/py/element.py @@ -0,0 +1,193 @@ +# generated by datamodel-codegen: +# filename: element.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel + + +class Symbol(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Name(Enum): + atomic_radius = "atomic_radius" + + +class Units(Enum): + km = "km" + m = "m" + cm = "cm" + mm = "mm" + um = "um" + nm = "nm" + angstrom = "angstrom" + a_u_ = "a.u." + bohr = "bohr" + pm = "pm" + + +class AtomicRadius(BaseModel): + name: Name + units: Optional[Units] = None + value: float + + +class Name465(Enum): + electronegativity = "electronegativity" + + +class Electronegativity(BaseModel): + name: Name465 + value: float + + +class Name466(Enum): + ionization_potential = "ionization_potential" + + +class Units184(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class IonizationPotentialElementalPropertySchema(BaseModel): + name: Name466 + units: Units184 + value: float + + +class ElementSchema(BaseModel): + symbol: Optional[Symbol] = None + properties: Optional[List[Union[AtomicRadius, Electronegativity, IonizationPotentialElementalPropertySchema]]] = ( + None + ) + """ + list of elemental properties + """ diff --git a/dist/py/in_memory_entity/__init__.py b/dist/py/in_memory_entity/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/in_memory_entity/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/in_memory_entity/base.py b/dist/py/in_memory_entity/base.py new file mode 100644 index 000000000..a2899cf16 --- /dev/null +++ b/dist/py/in_memory_entity/base.py @@ -0,0 +1,25 @@ +# generated by datamodel-codegen: +# filename: in_memory_entity/base.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, Field + + +class BaseInMemoryEntitySchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ diff --git a/dist/py/in_memory_entity/defaultable.py b/dist/py/in_memory_entity/defaultable.py new file mode 100644 index 000000000..17de58798 --- /dev/null +++ b/dist/py/in_memory_entity/defaultable.py @@ -0,0 +1,29 @@ +# generated by datamodel-codegen: +# filename: in_memory_entity/defaultable.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, Field + + +class DefaultableInMemoryEntitySchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ diff --git a/dist/py/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.py b/dist/py/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.py new file mode 100644 index 000000000..479f18f0f --- /dev/null +++ b/dist/py/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.py @@ -0,0 +1,61 @@ +# generated by datamodel-codegen: +# filename: in_memory_entity/has_consistency_check_has_metadata_named_defaultable.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, Field + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class ConsistencyCheck(BaseModel): + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + name: str + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class HasConsistencyCheckHasMetadataNamedDefaultableInMemoryEntitySchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + metadata: Optional[Dict[str, Any]] = None + consistencyChecks: Optional[List[ConsistencyCheck]] = None diff --git a/dist/py/in_memory_entity/named.py b/dist/py/in_memory_entity/named.py new file mode 100644 index 000000000..57a7e9504 --- /dev/null +++ b/dist/py/in_memory_entity/named.py @@ -0,0 +1,29 @@ +# generated by datamodel-codegen: +# filename: in_memory_entity/named.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, Field + + +class NamedInMemoryEntitySchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ diff --git a/dist/py/in_memory_entity/named_defaultable.py b/dist/py/in_memory_entity/named_defaultable.py new file mode 100644 index 000000000..1464f2d01 --- /dev/null +++ b/dist/py/in_memory_entity/named_defaultable.py @@ -0,0 +1,33 @@ +# generated by datamodel-codegen: +# filename: in_memory_entity/named_defaultable.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, Field + + +class NamedDefaultableInMemoryEntitySchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ diff --git a/dist/py/in_memory_entity/named_defaultable_has_metadata.py b/dist/py/in_memory_entity/named_defaultable_has_metadata.py new file mode 100644 index 000000000..992d58238 --- /dev/null +++ b/dist/py/in_memory_entity/named_defaultable_has_metadata.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: in_memory_entity/named_defaultable_has_metadata.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Optional + +from pydantic import BaseModel, Field + + +class NamedDefaultableHasMetadataInMemoryEntitySchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + metadata: Optional[Dict[str, Any]] = None diff --git a/dist/py/job/__init__.py b/dist/py/job/__init__.py new file mode 100644 index 000000000..fcbddf6a3 --- /dev/null +++ b/dist/py/job/__init__.py @@ -0,0 +1,2396 @@ +# generated by datamodel-codegen: +# filename: job.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel, conint + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + io = "io" + + +class Subtype(Enum): + input = "input" + output = "output" + dataFrame = "dataFrame" + + +class Source(Enum): + api = "api" + db = "db" + object_storage = "object_storage" + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema11], + ObjectStorageIoSchema, + ] + ] + + +class Type103(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + +class ReduceUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type104(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class ConditionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type105(Enum): + assertion = "assertion" + + +class AssertionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type106(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type107(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type108(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class WorkflowSubworkflowUnitSchema( + RootModel[ + Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] = Field(..., discriminator="type", title="workflow subworkflow unit schema") + + +class BaseMethod(BaseModel): + type: str + """ + general type of this method, eg. `pseudopotential` + """ + subtype: str + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ + + +class BaseModel1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: str + """ + general type of the model, eg. `dft` + """ + subtype: str + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") + + +class Queue(Enum): + D = "D" + OR = "OR" + OF = "OF" + OFplus = "OFplus" + SR = "SR" + SF = "SF" + SFplus = "SFplus" + GPOF = "GPOF" + GP2OF = "GP2OF" + GP4OF = "GP4OF" + GPSF = "GPSF" + GP2SF = "GP2SF" + GP4SF = "GP4SF" + OR4 = "OR4" + OR8 = "OR8" + OR16 = "OR16" + SR4 = "SR4" + SR8 = "SR8" + SR16 = "SR16" + GOF = "GOF" + G4OF = "G4OF" + G8OF = "G8OF" + GSF = "GSF" + G4SF = "G4SF" + G8SF = "G8SF" + + +class TimeLimitType(Enum): + per_single_attempt = "per single attempt" + compound = "compound" + + +class QuantumEspressoArgumentsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nimage: Optional[conint(ge=1, le=100)] = 1 + """ + Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others. + """ + npools: Optional[conint(ge=1, le=100)] = 1 + """ + Each image can be subpartitioned into `pools`, each taking care of a group of k-points. + """ + nband: Optional[conint(ge=1, le=100)] = 1 + """ + Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions). + """ + ntg: Optional[conint(ge=1, le=100)] = 1 + """ + In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time. + """ + ndiag: Optional[conint(ge=1, le=100)] = 1 + """ + A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations. + """ + + +class Cluster(BaseModel): + fqdn: Optional[str] = None + """ + FQDN of the cluster. e.g. master-1-staging.exabyte.io + """ + jid: Optional[str] = None + """ + Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io + """ + + +class Domain(Enum): + rupy = "rupy" + alfred = "alfred" + celim = "celim" + webapp = "webapp" + + +class Error(BaseModel): + domain: Optional[Domain] = None + """ + Domain of the error appearance (internal). + """ + reason: Optional[str] = None + """ + Should be a short, unique, machine-readable error code string. e.g. FileNotFound + """ + message: Optional[str] = None + """ + Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json' + """ + traceback: Optional[str] = None + """ + Full machine-readable error traceback. e.g. FileNotFound + """ + + +class ComputeArgumentsSchema(BaseModel): + queue: Queue + """ + Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication. + """ + nodes: int + """ + number of nodes used for the job inside the RMS. + """ + ppn: int + """ + number of CPUs used for the job inside the RMS. + """ + timeLimit: str + """ + Wallclock time limit for computing a job. Clock format: 'hh:mm:ss' + """ + timeLimitType: Optional[TimeLimitType] = "per single attempt" + """ + Convention to use when reasoning about time limits + """ + isRestartable: Optional[bool] = True + """ + Job is allowed to restart on termination. + """ + notify: Optional[str] = None + """ + Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined. + """ + email: Optional[str] = None + """ + Email address to notify about job execution. + """ + maxCPU: Optional[int] = None + """ + Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user. + """ + arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema") + """ + Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere + """ + cluster: Optional[Cluster] = None + """ + Cluster where the job is executed. Optional on create. Required on job submission. + """ + errors: Optional[List[Error]] = None + """ + Computation error. Optional. Appears only if something happens on jobs execution. + """ + excludeFilesPattern: Optional[str] = None + """ + A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix + """ + + +class Subworkflow(BaseModel): + units: List[WorkflowSubworkflowUnitSchema] + """ + Contains the Units of the subworkflow + """ + model: BaseModel1 = Field(..., title="base model") + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + isDraft: Optional[bool] = False + """ + Defines whether to store the results/properties extracted in this unit to properties collection + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + subworkflow identity + """ + name: str + """ + Human-readable name of the subworkflow. e.g. Total-energy + """ + properties: Optional[List[str]] = None + """ + Array of characteristic properties calculated by this subworkflow + """ + compute: Optional[ComputeArgumentsSchema] = Field(None, title="compute arguments schema") + """ + Custom keywords prefixed with validate correspond to custom validation methods implemented downstream + """ + + +class Type109(Enum): + io = "io" + + +class DataIODatabaseInputOutputSchema12(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema13(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageIoSchema5(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema4(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema12, DataIODatabaseInputOutputSchema13], + ObjectStorageIoSchema5, + ] + ] + + +class Type110(Enum): + reduce = "reduce" + + +class ReduceUnitSchema3(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type111(Enum): + condition = "condition" + + +class ConditionUnitSchema4(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type112(Enum): + assertion = "assertion" + + +class AssertionUnitSchema4(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type113(Enum): + execution = "execution" + + +class ExecutableSchema8(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class FlavorSchema8(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase4(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema8] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema8] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type114(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema4(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type115(Enum): + processing = "processing" + + +class ProcessingUnitSchema3(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class Type116(Enum): + map = "map" + + +class Input(BaseModel): + target: str + """ + Name of the target variable to substitute using the values below. e.g. K_POINTS + """ + scope: Optional[str] = None + """ + Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. + """ + name: Optional[str] = None + """ + Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. + """ + values: Optional[List[Union[str, float, Dict[str, Any]]]] = None + """ + Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution + """ + useValues: Optional[bool] = None + + +class MapUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ + + +class Type117(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + + +class WorkflowUnitSchema( + RootModel[ + Union[ + DataIOUnitSchema4, + ReduceUnitSchema3, + ConditionUnitSchema4, + AssertionUnitSchema4, + ExecutionUnitSchemaBase4, + AssignmentUnitSchema4, + ProcessingUnitSchema3, + MapUnitSchema, + SubworkflowUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema4, + ReduceUnitSchema3, + ConditionUnitSchema4, + AssertionUnitSchema4, + ExecutionUnitSchemaBase4, + AssignmentUnitSchema4, + ProcessingUnitSchema3, + MapUnitSchema, + SubworkflowUnitSchema, + ] = Field(..., discriminator="type", title="workflow unit schema") + + +class WorkflowSchema(BaseModel): + subworkflows: List[Subworkflow] + """ + Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting + """ + units: List[WorkflowUnitSchema] + """ + Contains the Units of the Workflow + """ + properties: Optional[List[Union[str, Dict[str, Any]]]] = None + """ + Array of characteristic properties calculated by this workflow (TODO: add enums) + """ + isUsingDataset: Optional[bool] = None + """ + Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab. + """ + workflows: Optional[List[Dict[str, Any]]] = None + """ + Array of workflows with the same schema as the current one. + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + metadata: Optional[Dict[str, Any]] = None + + +class Status42(Enum): + pre_submission = "pre-submission" + queued = "queued" + submitted = "submitted" + active = "active" + finished = "finished" + terminate_queued = "terminate-queued" + terminated = "terminated" + error = "error" + deleted = "deleted" + timeout = "timeout" + + +class Error5(BaseModel): + domain: Optional[Domain] = None + """ + Domain of the error appearance (internal). + """ + reason: Optional[str] = None + """ + Should be a short, unique, machine-readable error code string. e.g. FileNotFound + """ + message: Optional[str] = None + """ + Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json' + """ + traceback: Optional[str] = None + """ + Full machine-readable error traceback. e.g. FileNotFound + """ + + +class ComputeArgumentsSchema5(BaseModel): + queue: Queue + """ + Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication. + """ + nodes: int + """ + number of nodes used for the job inside the RMS. + """ + ppn: int + """ + number of CPUs used for the job inside the RMS. + """ + timeLimit: str + """ + Wallclock time limit for computing a job. Clock format: 'hh:mm:ss' + """ + timeLimitType: Optional[TimeLimitType] = "per single attempt" + """ + Convention to use when reasoning about time limits + """ + isRestartable: Optional[bool] = True + """ + Job is allowed to restart on termination. + """ + notify: Optional[str] = None + """ + Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined. + """ + email: Optional[str] = None + """ + Email address to notify about job execution. + """ + maxCPU: Optional[int] = None + """ + Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user. + """ + arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema") + """ + Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere + """ + cluster: Optional[Cluster] = None + """ + Cluster where the job is executed. Optional on create. Required on job submission. + """ + errors: Optional[List[Error5]] = None + """ + Computation error. Optional. Appears only if something happens on jobs execution. + """ + excludeFilesPattern: Optional[str] = None + """ + A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix + """ + + +class EntityReferenceSchema(BaseModel): + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class WorkflowScopeSchema(BaseModel): + global_: Dict[str, Any] = Field(..., alias="global") + local: Dict[str, Any] + + +class ScopeTrackItem(BaseModel): + repetition: Optional[float] = None + scope: Optional[WorkflowScopeSchema] = Field(None, title="workflow scope schema") + + +class JobSchema(BaseModel): + workflow: WorkflowSchema = Field(..., title="workflow schema") + rmsId: Optional[str] = None + """ + Identity used to track jobs originated from command-line + """ + status: Status42 + """ + job status + """ + startTime: Optional[str] = None + """ + Approximate start time of the job. e.g. within 10 min + """ + workDir: Optional[str] = None + """ + The path to the working directory of this job, when the job originates from command-line + """ + compute: ComputeArgumentsSchema5 = Field(..., title="compute arguments schema") + """ + Custom keywords prefixed with validate correspond to custom validation methods implemented downstream + """ + field_project: EntityReferenceSchema = Field(..., alias="_project", title="entity reference schema") + field_material: Optional[EntityReferenceSchema] = Field(None, alias="_material", title="entity reference schema") + parent: Optional[EntityReferenceSchema] = Field(None, title="entity reference schema") + runtimeContext: Optional[Dict[str, Any]] = None + """ + Context variables that the job will have access to at runtime + """ + scopeTrack: Optional[List[ScopeTrackItem]] = None + """ + history of the workflow scope on each update + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + metadata: Optional[Dict[str, Any]] = None diff --git a/dist/py/job/base.py b/dist/py/job/base.py new file mode 100644 index 000000000..c446e4d49 --- /dev/null +++ b/dist/py/job/base.py @@ -0,0 +1,255 @@ +# generated by datamodel-codegen: +# filename: job/base.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field, conint + + +class Status(Enum): + pre_submission = "pre-submission" + queued = "queued" + submitted = "submitted" + active = "active" + finished = "finished" + terminate_queued = "terminate-queued" + terminated = "terminated" + error = "error" + deleted = "deleted" + timeout = "timeout" + + +class Queue(Enum): + D = "D" + OR = "OR" + OF = "OF" + OFplus = "OFplus" + SR = "SR" + SF = "SF" + SFplus = "SFplus" + GPOF = "GPOF" + GP2OF = "GP2OF" + GP4OF = "GP4OF" + GPSF = "GPSF" + GP2SF = "GP2SF" + GP4SF = "GP4SF" + OR4 = "OR4" + OR8 = "OR8" + OR16 = "OR16" + SR4 = "SR4" + SR8 = "SR8" + SR16 = "SR16" + GOF = "GOF" + G4OF = "G4OF" + G8OF = "G8OF" + GSF = "GSF" + G4SF = "G4SF" + G8SF = "G8SF" + + +class TimeLimitType(Enum): + per_single_attempt = "per single attempt" + compound = "compound" + + +class QuantumEspressoArgumentsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nimage: Optional[conint(ge=1, le=100)] = 1 + """ + Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others. + """ + npools: Optional[conint(ge=1, le=100)] = 1 + """ + Each image can be subpartitioned into `pools`, each taking care of a group of k-points. + """ + nband: Optional[conint(ge=1, le=100)] = 1 + """ + Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions). + """ + ntg: Optional[conint(ge=1, le=100)] = 1 + """ + In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time. + """ + ndiag: Optional[conint(ge=1, le=100)] = 1 + """ + A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations. + """ + + +class Cluster(BaseModel): + fqdn: Optional[str] = None + """ + FQDN of the cluster. e.g. master-1-staging.exabyte.io + """ + jid: Optional[str] = None + """ + Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io + """ + + +class Domain(Enum): + rupy = "rupy" + alfred = "alfred" + celim = "celim" + webapp = "webapp" + + +class Error(BaseModel): + domain: Optional[Domain] = None + """ + Domain of the error appearance (internal). + """ + reason: Optional[str] = None + """ + Should be a short, unique, machine-readable error code string. e.g. FileNotFound + """ + message: Optional[str] = None + """ + Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json' + """ + traceback: Optional[str] = None + """ + Full machine-readable error traceback. e.g. FileNotFound + """ + + +class ComputeArgumentsSchema(BaseModel): + queue: Queue + """ + Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication. + """ + nodes: int + """ + number of nodes used for the job inside the RMS. + """ + ppn: int + """ + number of CPUs used for the job inside the RMS. + """ + timeLimit: str + """ + Wallclock time limit for computing a job. Clock format: 'hh:mm:ss' + """ + timeLimitType: Optional[TimeLimitType] = "per single attempt" + """ + Convention to use when reasoning about time limits + """ + isRestartable: Optional[bool] = True + """ + Job is allowed to restart on termination. + """ + notify: Optional[str] = None + """ + Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined. + """ + email: Optional[str] = None + """ + Email address to notify about job execution. + """ + maxCPU: Optional[int] = None + """ + Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user. + """ + arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema") + """ + Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere + """ + cluster: Optional[Cluster] = None + """ + Cluster where the job is executed. Optional on create. Required on job submission. + """ + errors: Optional[List[Error]] = None + """ + Computation error. Optional. Appears only if something happens on jobs execution. + """ + excludeFilesPattern: Optional[str] = None + """ + A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix + """ + + +class EntityReferenceSchema(BaseModel): + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class WorkflowScopeSchema(BaseModel): + global_: Dict[str, Any] = Field(..., alias="global") + local: Dict[str, Any] + + +class ScopeTrackItem(BaseModel): + repetition: Optional[float] = None + scope: Optional[WorkflowScopeSchema] = Field(None, title="workflow scope schema") + + +class JobBaseSchema(BaseModel): + rmsId: Optional[str] = None + """ + Identity used to track jobs originated from command-line + """ + status: Status + """ + job status + """ + startTime: Optional[str] = None + """ + Approximate start time of the job. e.g. within 10 min + """ + workDir: Optional[str] = None + """ + The path to the working directory of this job, when the job originates from command-line + """ + compute: ComputeArgumentsSchema = Field(..., title="compute arguments schema") + """ + Custom keywords prefixed with validate correspond to custom validation methods implemented downstream + """ + field_project: EntityReferenceSchema = Field(..., alias="_project", title="entity reference schema") + field_material: Optional[EntityReferenceSchema] = Field(None, alias="_material", title="entity reference schema") + parent: Optional[EntityReferenceSchema] = Field(None, title="entity reference schema") + runtimeContext: Optional[Dict[str, Any]] = None + """ + Context variables that the job will have access to at runtime + """ + scopeTrack: Optional[List[ScopeTrackItem]] = None + """ + history of the workflow scope on each update + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + metadata: Optional[Dict[str, Any]] = None diff --git a/dist/py/job/compute.py b/dist/py/job/compute.py new file mode 100644 index 000000000..91f277b49 --- /dev/null +++ b/dist/py/job/compute.py @@ -0,0 +1,161 @@ +# generated by datamodel-codegen: +# filename: job/compute.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field, conint + + +class Queue(Enum): + D = "D" + OR = "OR" + OF = "OF" + OFplus = "OFplus" + SR = "SR" + SF = "SF" + SFplus = "SFplus" + GPOF = "GPOF" + GP2OF = "GP2OF" + GP4OF = "GP4OF" + GPSF = "GPSF" + GP2SF = "GP2SF" + GP4SF = "GP4SF" + OR4 = "OR4" + OR8 = "OR8" + OR16 = "OR16" + SR4 = "SR4" + SR8 = "SR8" + SR16 = "SR16" + GOF = "GOF" + G4OF = "G4OF" + G8OF = "G8OF" + GSF = "GSF" + G4SF = "G4SF" + G8SF = "G8SF" + + +class TimeLimitType(Enum): + per_single_attempt = "per single attempt" + compound = "compound" + + +class QuantumEspressoArgumentsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nimage: Optional[conint(ge=1, le=100)] = 1 + """ + Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others. + """ + npools: Optional[conint(ge=1, le=100)] = 1 + """ + Each image can be subpartitioned into `pools`, each taking care of a group of k-points. + """ + nband: Optional[conint(ge=1, le=100)] = 1 + """ + Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions). + """ + ntg: Optional[conint(ge=1, le=100)] = 1 + """ + In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time. + """ + ndiag: Optional[conint(ge=1, le=100)] = 1 + """ + A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations. + """ + + +class Cluster(BaseModel): + fqdn: Optional[str] = None + """ + FQDN of the cluster. e.g. master-1-staging.exabyte.io + """ + jid: Optional[str] = None + """ + Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io + """ + + +class Domain(Enum): + rupy = "rupy" + alfred = "alfred" + celim = "celim" + webapp = "webapp" + + +class Error(BaseModel): + domain: Optional[Domain] = None + """ + Domain of the error appearance (internal). + """ + reason: Optional[str] = None + """ + Should be a short, unique, machine-readable error code string. e.g. FileNotFound + """ + message: Optional[str] = None + """ + Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json' + """ + traceback: Optional[str] = None + """ + Full machine-readable error traceback. e.g. FileNotFound + """ + + +class ComputeArgumentsSchema(BaseModel): + queue: Queue + """ + Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication. + """ + nodes: int + """ + number of nodes used for the job inside the RMS. + """ + ppn: int + """ + number of CPUs used for the job inside the RMS. + """ + timeLimit: str + """ + Wallclock time limit for computing a job. Clock format: 'hh:mm:ss' + """ + timeLimitType: Optional[TimeLimitType] = "per single attempt" + """ + Convention to use when reasoning about time limits + """ + isRestartable: Optional[bool] = True + """ + Job is allowed to restart on termination. + """ + notify: Optional[str] = None + """ + Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined. + """ + email: Optional[str] = None + """ + Email address to notify about job execution. + """ + maxCPU: Optional[int] = None + """ + Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user. + """ + arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema") + """ + Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere + """ + cluster: Optional[Cluster] = None + """ + Cluster where the job is executed. Optional on create. Required on job submission. + """ + errors: Optional[List[Error]] = None + """ + Computation error. Optional. Appears only if something happens on jobs execution. + """ + excludeFilesPattern: Optional[str] = None + """ + A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix + """ diff --git a/dist/py/material/__init__.py b/dist/py/material/__init__.py new file mode 100644 index 000000000..465186d15 --- /dev/null +++ b/dist/py/material/__init__.py @@ -0,0 +1,556 @@ +# generated by datamodel-codegen: +# filename: material.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value127(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value127] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name560(Enum): + density = "density" + + +class Units251(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units251] = None + value: float + + +class Units252(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units252] = None + value: float + + +class Name561(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name562(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name563(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name564(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name565(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name566(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name566 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class MaterialSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ diff --git a/dist/py/material/consistency_check.py b/dist/py/material/consistency_check.py new file mode 100644 index 000000000..4a9f97026 --- /dev/null +++ b/dist/py/material/consistency_check.py @@ -0,0 +1,40 @@ +# generated by datamodel-codegen: +# filename: material/consistency_check.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Name(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ diff --git a/dist/py/material/conventional.py b/dist/py/material/conventional.py new file mode 100644 index 000000000..fb93d1c86 --- /dev/null +++ b/dist/py/material/conventional.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: material/conventional.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Optional + +from pydantic import BaseModel + + +class MaterialConventionalSchema(BaseModel): + conventional: Optional[Dict[str, Any]] = None diff --git a/dist/py/materials_category/compound_pristine_structures/two_dimensional/interface/__init__.py b/dist/py/materials_category/compound_pristine_structures/two_dimensional/interface/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category/compound_pristine_structures/two_dimensional/interface/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py b/dist/py/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py new file mode 100644 index 000000000..a4ee0962a --- /dev/null +++ b/dist/py/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py @@ -0,0 +1,4610 @@ +# generated by datamodel-codegen: +# filename: materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value85(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value85] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name313(Enum): + density = "density" + + +class Units124(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units124] = None + value: float + + +class Units125(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units125] = None + value: float + + +class Name314(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name315(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name316(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name317(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name318(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name319(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name319 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema(BaseModel): + termination_top: TerminationSchema = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class AxisEnum(Enum): + x = "x" + y = "y" + z = "z" + + +class Value86(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value87(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema42(BaseModel): + value: Union[Value86, Value87] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema40(BaseModel): + elements: List[AtomicElementSchema42] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema39(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema39(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema39(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema39] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema39] = Field( + default_factory=lambda: LatticeUnitsSchema39.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name320(Enum): + volume = "volume" + + +class Units126(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema39(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units126] = None + value: float + + +class Name321(Enum): + density = "density" + + +class Units127(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema39(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units127] = None + value: float + + +class Units128(Enum): + angstrom = "angstrom" + + +class ScalarSchema40(BaseModel): + units: Optional[Units128] = None + value: float + + +class Name322(Enum): + symmetry = "symmetry" + + +class SymmetrySchema39(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema40] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name323(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio39(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name324(Enum): + p_norm = "p-norm" + + +class PNorm39(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name325(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema39(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name326(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema39(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema39( + RootModel[ + Union[ + VolumeSchema39, + DensitySchema39, + SymmetrySchema39, + ElementalRatio39, + PNorm39, + InChIRepresentationSchema39, + InChIKeyRepresentationSchema39, + ] + ] +): + root: Union[ + VolumeSchema39, + DensitySchema39, + SymmetrySchema39, + ElementalRatio39, + PNorm39, + InChIRepresentationSchema39, + InChIKeyRepresentationSchema39, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema39(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name327(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema39(BaseModel): + name: Name327 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions39(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata39(BaseModel): + boundaryConditions: Optional[BoundaryConditions39] = None + + +class CrystalSchema39(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema40 = Field(..., title="basis schema") + lattice: LatticeSchema39 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema39]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema39] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema39]] = None + metadata: Optional[Metadata39] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema39 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class ObjectWithIdAndValueSchema(BaseModel): + value: float + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class SlabConfigurationSchema(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class SupercellMatrix2DSchemaItem(RootModel[List[int]]): + root: List[int] + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class TerminationSchema17(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value88(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value89(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema43(BaseModel): + value: Union[Value88, Value89] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema41(BaseModel): + elements: List[AtomicElementSchema43] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema40(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema40(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema40(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema40] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema40] = Field( + default_factory=lambda: LatticeUnitsSchema40.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name328(Enum): + volume = "volume" + + +class Units129(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema40(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units129] = None + value: float + + +class Name329(Enum): + density = "density" + + +class Units130(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema40(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units130] = None + value: float + + +class Units131(Enum): + angstrom = "angstrom" + + +class ScalarSchema41(BaseModel): + units: Optional[Units131] = None + value: float + + +class Name330(Enum): + symmetry = "symmetry" + + +class SymmetrySchema40(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema41] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name331(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio40(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name332(Enum): + p_norm = "p-norm" + + +class PNorm40(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name333(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema40(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name334(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema40(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema40( + RootModel[ + Union[ + VolumeSchema40, + DensitySchema40, + SymmetrySchema40, + ElementalRatio40, + PNorm40, + InChIRepresentationSchema40, + InChIKeyRepresentationSchema40, + ] + ] +): + root: Union[ + VolumeSchema40, + DensitySchema40, + SymmetrySchema40, + ElementalRatio40, + PNorm40, + InChIRepresentationSchema40, + InChIKeyRepresentationSchema40, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema40(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name335(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema40(BaseModel): + name: Name335 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions40(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata40(BaseModel): + boundaryConditions: Optional[BoundaryConditions40] = None + + +class CrystalSchema40(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema41 = Field(..., title="basis schema") + lattice: LatticeSchema40 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema40]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema40] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema40]] = None + metadata: Optional[Metadata40] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema15(BaseModel): + termination_top: TerminationSchema17 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema40 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value90(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value91(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema44(BaseModel): + value: Union[Value90, Value91] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema42(BaseModel): + elements: List[AtomicElementSchema44] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema41(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema41(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema41(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema41] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema41] = Field( + default_factory=lambda: LatticeUnitsSchema41.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name336(Enum): + volume = "volume" + + +class Units132(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema41(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units132] = None + value: float + + +class Name337(Enum): + density = "density" + + +class Units133(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema41(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units133] = None + value: float + + +class Units134(Enum): + angstrom = "angstrom" + + +class ScalarSchema42(BaseModel): + units: Optional[Units134] = None + value: float + + +class Name338(Enum): + symmetry = "symmetry" + + +class SymmetrySchema41(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema42] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name339(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio41(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name340(Enum): + p_norm = "p-norm" + + +class PNorm41(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name341(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema41(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name342(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema41(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema41( + RootModel[ + Union[ + VolumeSchema41, + DensitySchema41, + SymmetrySchema41, + ElementalRatio41, + PNorm41, + InChIRepresentationSchema41, + InChIKeyRepresentationSchema41, + ] + ] +): + root: Union[ + VolumeSchema41, + DensitySchema41, + SymmetrySchema41, + ElementalRatio41, + PNorm41, + InChIRepresentationSchema41, + InChIKeyRepresentationSchema41, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema41(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name343(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema41(BaseModel): + name: Name343 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions41(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata41(BaseModel): + boundaryConditions: Optional[BoundaryConditions41] = None + + +class CrystalSchema41(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema42 = Field(..., title="basis schema") + lattice: LatticeSchema41 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema41]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema41] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema41]] = None + metadata: Optional[Metadata41] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema19(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema41 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabStrainedSupercellConfigurationSchema(BaseModel): + xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field( + default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]], + max_length=2, + min_length=2, + title="Supercell Matrix 2D Schema", + ) + """ + Supercell matrix for xy plane transformations + """ + strain_matrix: List[ArrayOf3NumberElementsSchema] = Field( + ..., max_length=3, min_length=3, title="matrix 3x3 schema" + ) + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema15, VacuumConfigurationSchema19]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class TerminationSchema18(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value92(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value93(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema45(BaseModel): + value: Union[Value92, Value93] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema43(BaseModel): + elements: List[AtomicElementSchema45] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema42(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema42(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema42(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema42] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema42] = Field( + default_factory=lambda: LatticeUnitsSchema42.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name344(Enum): + volume = "volume" + + +class Units135(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema42(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units135] = None + value: float + + +class Name345(Enum): + density = "density" + + +class Units136(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema42(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units136] = None + value: float + + +class Units137(Enum): + angstrom = "angstrom" + + +class ScalarSchema43(BaseModel): + units: Optional[Units137] = None + value: float + + +class Name346(Enum): + symmetry = "symmetry" + + +class SymmetrySchema42(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema43] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name347(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio42(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name348(Enum): + p_norm = "p-norm" + + +class PNorm42(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name349(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema42(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name350(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema42(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema42( + RootModel[ + Union[ + VolumeSchema42, + DensitySchema42, + SymmetrySchema42, + ElementalRatio42, + PNorm42, + InChIRepresentationSchema42, + InChIKeyRepresentationSchema42, + ] + ] +): + root: Union[ + VolumeSchema42, + DensitySchema42, + SymmetrySchema42, + ElementalRatio42, + PNorm42, + InChIRepresentationSchema42, + InChIKeyRepresentationSchema42, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema42(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name351(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema42(BaseModel): + name: Name351 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions42(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata42(BaseModel): + boundaryConditions: Optional[BoundaryConditions42] = None + + +class CrystalSchema42(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema43 = Field(..., title="basis schema") + lattice: LatticeSchema42 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema42]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema42] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema42]] = None + metadata: Optional[Metadata42] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema16(BaseModel): + termination_top: TerminationSchema18 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema42 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value94(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value95(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema46(BaseModel): + value: Union[Value94, Value95] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema44(BaseModel): + elements: List[AtomicElementSchema46] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema43(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema43(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema43(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema43] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema43] = Field( + default_factory=lambda: LatticeUnitsSchema43.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name352(Enum): + volume = "volume" + + +class Units138(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema43(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units138] = None + value: float + + +class Name353(Enum): + density = "density" + + +class Units139(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema43(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units139] = None + value: float + + +class Units140(Enum): + angstrom = "angstrom" + + +class ScalarSchema44(BaseModel): + units: Optional[Units140] = None + value: float + + +class Name354(Enum): + symmetry = "symmetry" + + +class SymmetrySchema43(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema44] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name355(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio43(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name356(Enum): + p_norm = "p-norm" + + +class PNorm43(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name357(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema43(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name358(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema43(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema43( + RootModel[ + Union[ + VolumeSchema43, + DensitySchema43, + SymmetrySchema43, + ElementalRatio43, + PNorm43, + InChIRepresentationSchema43, + InChIKeyRepresentationSchema43, + ] + ] +): + root: Union[ + VolumeSchema43, + DensitySchema43, + SymmetrySchema43, + ElementalRatio43, + PNorm43, + InChIRepresentationSchema43, + InChIKeyRepresentationSchema43, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema43(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name359(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema43(BaseModel): + name: Name359 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions43(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata43(BaseModel): + boundaryConditions: Optional[BoundaryConditions43] = None + + +class CrystalSchema43(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema44 = Field(..., title="basis schema") + lattice: LatticeSchema43 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema43]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema43] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema43]] = None + metadata: Optional[Metadata43] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema20(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema43 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabConfigurationSchema10(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema16, VacuumConfigurationSchema20]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class TerminationSchema19(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value96(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value97(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema47(BaseModel): + value: Union[Value96, Value97] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema45(BaseModel): + elements: List[AtomicElementSchema47] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema44(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema44(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema44(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema44] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema44] = Field( + default_factory=lambda: LatticeUnitsSchema44.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name360(Enum): + volume = "volume" + + +class Units141(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema44(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units141] = None + value: float + + +class Name361(Enum): + density = "density" + + +class Units142(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema44(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units142] = None + value: float + + +class Units143(Enum): + angstrom = "angstrom" + + +class ScalarSchema45(BaseModel): + units: Optional[Units143] = None + value: float + + +class Name362(Enum): + symmetry = "symmetry" + + +class SymmetrySchema44(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema45] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name363(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio44(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name364(Enum): + p_norm = "p-norm" + + +class PNorm44(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name365(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema44(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name366(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema44(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema44( + RootModel[ + Union[ + VolumeSchema44, + DensitySchema44, + SymmetrySchema44, + ElementalRatio44, + PNorm44, + InChIRepresentationSchema44, + InChIKeyRepresentationSchema44, + ] + ] +): + root: Union[ + VolumeSchema44, + DensitySchema44, + SymmetrySchema44, + ElementalRatio44, + PNorm44, + InChIRepresentationSchema44, + InChIKeyRepresentationSchema44, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema44(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name367(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema44(BaseModel): + name: Name367 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions44(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata44(BaseModel): + boundaryConditions: Optional[BoundaryConditions44] = None + + +class CrystalSchema44(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema45 = Field(..., title="basis schema") + lattice: LatticeSchema44 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema44]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema44] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema44]] = None + metadata: Optional[Metadata44] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema17(BaseModel): + termination_top: TerminationSchema19 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema44 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value98(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value99(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema48(BaseModel): + value: Union[Value98, Value99] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema46(BaseModel): + elements: List[AtomicElementSchema48] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema45(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema45(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema45(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema45] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema45] = Field( + default_factory=lambda: LatticeUnitsSchema45.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name368(Enum): + volume = "volume" + + +class Units144(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema45(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units144] = None + value: float + + +class Name369(Enum): + density = "density" + + +class Units145(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema45(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units145] = None + value: float + + +class Units146(Enum): + angstrom = "angstrom" + + +class ScalarSchema46(BaseModel): + units: Optional[Units146] = None + value: float + + +class Name370(Enum): + symmetry = "symmetry" + + +class SymmetrySchema45(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema46] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name371(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio45(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name372(Enum): + p_norm = "p-norm" + + +class PNorm45(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name373(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema45(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name374(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema45(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema45( + RootModel[ + Union[ + VolumeSchema45, + DensitySchema45, + SymmetrySchema45, + ElementalRatio45, + PNorm45, + InChIRepresentationSchema45, + InChIKeyRepresentationSchema45, + ] + ] +): + root: Union[ + VolumeSchema45, + DensitySchema45, + SymmetrySchema45, + ElementalRatio45, + PNorm45, + InChIRepresentationSchema45, + InChIKeyRepresentationSchema45, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema45(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name375(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema45(BaseModel): + name: Name375 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions45(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata45(BaseModel): + boundaryConditions: Optional[BoundaryConditions45] = None + + +class CrystalSchema45(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema46 = Field(..., title="basis schema") + lattice: LatticeSchema45 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema45]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema45] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema45]] = None + metadata: Optional[Metadata45] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema21(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema45 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabStrainedSupercellConfigurationSchema5(BaseModel): + xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field( + default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]], + max_length=2, + min_length=2, + title="Supercell Matrix 2D Schema", + ) + """ + Supercell matrix for xy plane transformations + """ + strain_matrix: List[ArrayOf3NumberElementsSchema] = Field( + ..., max_length=3, min_length=3, title="matrix 3x3 schema" + ) + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema17, VacuumConfigurationSchema21]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class Value100(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value101(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema49(BaseModel): + value: Union[Value100, Value101] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema47(BaseModel): + elements: List[AtomicElementSchema49] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema46(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema46(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema46(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema46] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema46] = Field( + default_factory=lambda: LatticeUnitsSchema46.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name376(Enum): + volume = "volume" + + +class Units147(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema46(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units147] = None + value: float + + +class Name377(Enum): + density = "density" + + +class Units148(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema46(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units148] = None + value: float + + +class Units149(Enum): + angstrom = "angstrom" + + +class ScalarSchema47(BaseModel): + units: Optional[Units149] = None + value: float + + +class Name378(Enum): + symmetry = "symmetry" + + +class SymmetrySchema46(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema47] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name379(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio46(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name380(Enum): + p_norm = "p-norm" + + +class PNorm46(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name381(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema46(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name382(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema46(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema46( + RootModel[ + Union[ + VolumeSchema46, + DensitySchema46, + SymmetrySchema46, + ElementalRatio46, + PNorm46, + InChIRepresentationSchema46, + InChIKeyRepresentationSchema46, + ] + ] +): + root: Union[ + VolumeSchema46, + DensitySchema46, + SymmetrySchema46, + ElementalRatio46, + PNorm46, + InChIRepresentationSchema46, + InChIKeyRepresentationSchema46, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema46(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name383(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema46(BaseModel): + name: Name383 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions46(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata46(BaseModel): + boundaryConditions: Optional[BoundaryConditions46] = None + + +class CrystalSchema46(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema47 = Field(..., title="basis schema") + lattice: LatticeSchema46 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema46]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema46] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema46]] = None + metadata: Optional[Metadata46] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema22(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema46 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class InterfaceConfigurationSchema(BaseModel): + stack_components: List[ + Union[ + Union[SlabConfigurationSchema, SlabStrainedSupercellConfigurationSchema], + Union[SlabConfigurationSchema10, SlabStrainedSupercellConfigurationSchema5], + VacuumConfigurationSchema22, + ] + ] = Field(..., max_length=3, min_length=2) + """ + Components of the interface: slab, slab and vacuum + """ + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + xy_shift: Optional[List[float]] = Field([0, 0], max_length=2, min_length=2, title="vector 2d schema") + """ + xy shift for the film as cartesian 2D vector on the xy plane. + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/dist/py/materials_category/defective_structures/one_dimensional/grain_boundary_linear/__init__.py b/dist/py/materials_category/defective_structures/one_dimensional/grain_boundary_linear/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category/defective_structures/one_dimensional/grain_boundary_linear/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py b/dist/py/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py new file mode 100644 index 000000000..c80f99c53 --- /dev/null +++ b/dist/py/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py @@ -0,0 +1,4614 @@ +# generated by datamodel-codegen: +# filename: materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value67(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value67] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name241(Enum): + density = "density" + + +class Units97(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units97] = None + value: float + + +class Units98(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units98] = None + value: float + + +class Name242(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name243(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name244(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name245(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name246(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name247(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name247 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema(BaseModel): + termination_top: TerminationSchema = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class AxisEnum(Enum): + x = "x" + y = "y" + z = "z" + + +class Value68(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value69(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema33(BaseModel): + value: Union[Value68, Value69] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema31(BaseModel): + elements: List[AtomicElementSchema33] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema30(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema30(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema30(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema30] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema30] = Field( + default_factory=lambda: LatticeUnitsSchema30.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name248(Enum): + volume = "volume" + + +class Units99(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema30(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units99] = None + value: float + + +class Name249(Enum): + density = "density" + + +class Units100(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema30(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units100] = None + value: float + + +class Units101(Enum): + angstrom = "angstrom" + + +class ScalarSchema31(BaseModel): + units: Optional[Units101] = None + value: float + + +class Name250(Enum): + symmetry = "symmetry" + + +class SymmetrySchema30(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema31] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name251(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio30(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name252(Enum): + p_norm = "p-norm" + + +class PNorm30(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name253(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema30(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name254(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema30(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema30( + RootModel[ + Union[ + VolumeSchema30, + DensitySchema30, + SymmetrySchema30, + ElementalRatio30, + PNorm30, + InChIRepresentationSchema30, + InChIKeyRepresentationSchema30, + ] + ] +): + root: Union[ + VolumeSchema30, + DensitySchema30, + SymmetrySchema30, + ElementalRatio30, + PNorm30, + InChIRepresentationSchema30, + InChIKeyRepresentationSchema30, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema30(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name255(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema30(BaseModel): + name: Name255 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions30(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata30(BaseModel): + boundaryConditions: Optional[BoundaryConditions30] = None + + +class CrystalSchema30(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema31 = Field(..., title="basis schema") + lattice: LatticeSchema30 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema30]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema30] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema30]] = None + metadata: Optional[Metadata30] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema30 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class ObjectWithIdAndValueSchema(BaseModel): + value: float + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class SlabConfigurationSchema(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class SupercellMatrix2DSchemaItem(RootModel[List[int]]): + root: List[int] + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class TerminationSchema13(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value70(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value71(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema34(BaseModel): + value: Union[Value70, Value71] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema32(BaseModel): + elements: List[AtomicElementSchema34] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema31(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema31(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema31(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema31] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema31] = Field( + default_factory=lambda: LatticeUnitsSchema31.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name256(Enum): + volume = "volume" + + +class Units102(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema31(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units102] = None + value: float + + +class Name257(Enum): + density = "density" + + +class Units103(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema31(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units103] = None + value: float + + +class Units104(Enum): + angstrom = "angstrom" + + +class ScalarSchema32(BaseModel): + units: Optional[Units104] = None + value: float + + +class Name258(Enum): + symmetry = "symmetry" + + +class SymmetrySchema31(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema32] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name259(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio31(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name260(Enum): + p_norm = "p-norm" + + +class PNorm31(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name261(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema31(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name262(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema31(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema31( + RootModel[ + Union[ + VolumeSchema31, + DensitySchema31, + SymmetrySchema31, + ElementalRatio31, + PNorm31, + InChIRepresentationSchema31, + InChIKeyRepresentationSchema31, + ] + ] +): + root: Union[ + VolumeSchema31, + DensitySchema31, + SymmetrySchema31, + ElementalRatio31, + PNorm31, + InChIRepresentationSchema31, + InChIKeyRepresentationSchema31, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema31(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name263(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema31(BaseModel): + name: Name263 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions31(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata31(BaseModel): + boundaryConditions: Optional[BoundaryConditions31] = None + + +class CrystalSchema31(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema32 = Field(..., title="basis schema") + lattice: LatticeSchema31 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema31]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema31] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema31]] = None + metadata: Optional[Metadata31] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema11(BaseModel): + termination_top: TerminationSchema13 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema31 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value72(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value73(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema35(BaseModel): + value: Union[Value72, Value73] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema33(BaseModel): + elements: List[AtomicElementSchema35] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema32(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema32(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema32(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema32] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema32] = Field( + default_factory=lambda: LatticeUnitsSchema32.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name264(Enum): + volume = "volume" + + +class Units105(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema32(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units105] = None + value: float + + +class Name265(Enum): + density = "density" + + +class Units106(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema32(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units106] = None + value: float + + +class Units107(Enum): + angstrom = "angstrom" + + +class ScalarSchema33(BaseModel): + units: Optional[Units107] = None + value: float + + +class Name266(Enum): + symmetry = "symmetry" + + +class SymmetrySchema32(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema33] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name267(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio32(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name268(Enum): + p_norm = "p-norm" + + +class PNorm32(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name269(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema32(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name270(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema32(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema32( + RootModel[ + Union[ + VolumeSchema32, + DensitySchema32, + SymmetrySchema32, + ElementalRatio32, + PNorm32, + InChIRepresentationSchema32, + InChIKeyRepresentationSchema32, + ] + ] +): + root: Union[ + VolumeSchema32, + DensitySchema32, + SymmetrySchema32, + ElementalRatio32, + PNorm32, + InChIRepresentationSchema32, + InChIKeyRepresentationSchema32, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema32(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name271(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema32(BaseModel): + name: Name271 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions32(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata32(BaseModel): + boundaryConditions: Optional[BoundaryConditions32] = None + + +class CrystalSchema32(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema33 = Field(..., title="basis schema") + lattice: LatticeSchema32 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema32]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema32] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema32]] = None + metadata: Optional[Metadata32] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema14(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema32 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabStrainedSupercellConfigurationSchema(BaseModel): + xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field( + default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]], + max_length=2, + min_length=2, + title="Supercell Matrix 2D Schema", + ) + """ + Supercell matrix for xy plane transformations + """ + strain_matrix: List[ArrayOf3NumberElementsSchema] = Field( + ..., max_length=3, min_length=3, title="matrix 3x3 schema" + ) + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema11, VacuumConfigurationSchema14]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class TerminationSchema14(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value74(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value75(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema36(BaseModel): + value: Union[Value74, Value75] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema34(BaseModel): + elements: List[AtomicElementSchema36] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema33(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema33(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema33(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema33] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema33] = Field( + default_factory=lambda: LatticeUnitsSchema33.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name272(Enum): + volume = "volume" + + +class Units108(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema33(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units108] = None + value: float + + +class Name273(Enum): + density = "density" + + +class Units109(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema33(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units109] = None + value: float + + +class Units110(Enum): + angstrom = "angstrom" + + +class ScalarSchema34(BaseModel): + units: Optional[Units110] = None + value: float + + +class Name274(Enum): + symmetry = "symmetry" + + +class SymmetrySchema33(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema34] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name275(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio33(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name276(Enum): + p_norm = "p-norm" + + +class PNorm33(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name277(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema33(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name278(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema33(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema33( + RootModel[ + Union[ + VolumeSchema33, + DensitySchema33, + SymmetrySchema33, + ElementalRatio33, + PNorm33, + InChIRepresentationSchema33, + InChIKeyRepresentationSchema33, + ] + ] +): + root: Union[ + VolumeSchema33, + DensitySchema33, + SymmetrySchema33, + ElementalRatio33, + PNorm33, + InChIRepresentationSchema33, + InChIKeyRepresentationSchema33, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema33(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name279(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema33(BaseModel): + name: Name279 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions33(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata33(BaseModel): + boundaryConditions: Optional[BoundaryConditions33] = None + + +class CrystalSchema33(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema34 = Field(..., title="basis schema") + lattice: LatticeSchema33 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema33]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema33] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema33]] = None + metadata: Optional[Metadata33] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema12(BaseModel): + termination_top: TerminationSchema14 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema33 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value76(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value77(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema37(BaseModel): + value: Union[Value76, Value77] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema35(BaseModel): + elements: List[AtomicElementSchema37] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema34(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema34(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema34(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema34] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema34] = Field( + default_factory=lambda: LatticeUnitsSchema34.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name280(Enum): + volume = "volume" + + +class Units111(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema34(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units111] = None + value: float + + +class Name281(Enum): + density = "density" + + +class Units112(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema34(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units112] = None + value: float + + +class Units113(Enum): + angstrom = "angstrom" + + +class ScalarSchema35(BaseModel): + units: Optional[Units113] = None + value: float + + +class Name282(Enum): + symmetry = "symmetry" + + +class SymmetrySchema34(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema35] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name283(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio34(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name284(Enum): + p_norm = "p-norm" + + +class PNorm34(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name285(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema34(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name286(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema34(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema34( + RootModel[ + Union[ + VolumeSchema34, + DensitySchema34, + SymmetrySchema34, + ElementalRatio34, + PNorm34, + InChIRepresentationSchema34, + InChIKeyRepresentationSchema34, + ] + ] +): + root: Union[ + VolumeSchema34, + DensitySchema34, + SymmetrySchema34, + ElementalRatio34, + PNorm34, + InChIRepresentationSchema34, + InChIKeyRepresentationSchema34, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema34(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name287(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema34(BaseModel): + name: Name287 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions34(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata34(BaseModel): + boundaryConditions: Optional[BoundaryConditions34] = None + + +class CrystalSchema34(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema35 = Field(..., title="basis schema") + lattice: LatticeSchema34 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema34]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema34] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema34]] = None + metadata: Optional[Metadata34] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema15(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema34 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabConfigurationSchema8(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema12, VacuumConfigurationSchema15]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class TerminationSchema15(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value78(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value79(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema38(BaseModel): + value: Union[Value78, Value79] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema36(BaseModel): + elements: List[AtomicElementSchema38] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema35(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema35(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema35(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema35] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema35] = Field( + default_factory=lambda: LatticeUnitsSchema35.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name288(Enum): + volume = "volume" + + +class Units114(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema35(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units114] = None + value: float + + +class Name289(Enum): + density = "density" + + +class Units115(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema35(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units115] = None + value: float + + +class Units116(Enum): + angstrom = "angstrom" + + +class ScalarSchema36(BaseModel): + units: Optional[Units116] = None + value: float + + +class Name290(Enum): + symmetry = "symmetry" + + +class SymmetrySchema35(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema36] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name291(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio35(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name292(Enum): + p_norm = "p-norm" + + +class PNorm35(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name293(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema35(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name294(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema35(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema35( + RootModel[ + Union[ + VolumeSchema35, + DensitySchema35, + SymmetrySchema35, + ElementalRatio35, + PNorm35, + InChIRepresentationSchema35, + InChIKeyRepresentationSchema35, + ] + ] +): + root: Union[ + VolumeSchema35, + DensitySchema35, + SymmetrySchema35, + ElementalRatio35, + PNorm35, + InChIRepresentationSchema35, + InChIKeyRepresentationSchema35, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema35(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name295(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema35(BaseModel): + name: Name295 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions35(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata35(BaseModel): + boundaryConditions: Optional[BoundaryConditions35] = None + + +class CrystalSchema35(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema36 = Field(..., title="basis schema") + lattice: LatticeSchema35 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema35]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema35] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema35]] = None + metadata: Optional[Metadata35] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema13(BaseModel): + termination_top: TerminationSchema15 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema35 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value80(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value81(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema39(BaseModel): + value: Union[Value80, Value81] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema37(BaseModel): + elements: List[AtomicElementSchema39] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema36(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema36(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema36(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema36] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema36] = Field( + default_factory=lambda: LatticeUnitsSchema36.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name296(Enum): + volume = "volume" + + +class Units117(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema36(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units117] = None + value: float + + +class Name297(Enum): + density = "density" + + +class Units118(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema36(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units118] = None + value: float + + +class Units119(Enum): + angstrom = "angstrom" + + +class ScalarSchema37(BaseModel): + units: Optional[Units119] = None + value: float + + +class Name298(Enum): + symmetry = "symmetry" + + +class SymmetrySchema36(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema37] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name299(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio36(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name300(Enum): + p_norm = "p-norm" + + +class PNorm36(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name301(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema36(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name302(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema36(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema36( + RootModel[ + Union[ + VolumeSchema36, + DensitySchema36, + SymmetrySchema36, + ElementalRatio36, + PNorm36, + InChIRepresentationSchema36, + InChIKeyRepresentationSchema36, + ] + ] +): + root: Union[ + VolumeSchema36, + DensitySchema36, + SymmetrySchema36, + ElementalRatio36, + PNorm36, + InChIRepresentationSchema36, + InChIKeyRepresentationSchema36, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema36(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name303(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema36(BaseModel): + name: Name303 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions36(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata36(BaseModel): + boundaryConditions: Optional[BoundaryConditions36] = None + + +class CrystalSchema36(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema37 = Field(..., title="basis schema") + lattice: LatticeSchema36 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema36]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema36] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema36]] = None + metadata: Optional[Metadata36] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema16(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema36 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabStrainedSupercellConfigurationSchema3(BaseModel): + xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field( + default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]], + max_length=2, + min_length=2, + title="Supercell Matrix 2D Schema", + ) + """ + Supercell matrix for xy plane transformations + """ + strain_matrix: List[ArrayOf3NumberElementsSchema] = Field( + ..., max_length=3, min_length=3, title="matrix 3x3 schema" + ) + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema13, VacuumConfigurationSchema16]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class Value82(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value83(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema40(BaseModel): + value: Union[Value82, Value83] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema38(BaseModel): + elements: List[AtomicElementSchema40] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema37(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema37(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema37(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema37] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema37] = Field( + default_factory=lambda: LatticeUnitsSchema37.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name304(Enum): + volume = "volume" + + +class Units120(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema37(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units120] = None + value: float + + +class Name305(Enum): + density = "density" + + +class Units121(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema37(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units121] = None + value: float + + +class Units122(Enum): + angstrom = "angstrom" + + +class ScalarSchema38(BaseModel): + units: Optional[Units122] = None + value: float + + +class Name306(Enum): + symmetry = "symmetry" + + +class SymmetrySchema37(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema38] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name307(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio37(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name308(Enum): + p_norm = "p-norm" + + +class PNorm37(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name309(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema37(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name310(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema37(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema37( + RootModel[ + Union[ + VolumeSchema37, + DensitySchema37, + SymmetrySchema37, + ElementalRatio37, + PNorm37, + InChIRepresentationSchema37, + InChIKeyRepresentationSchema37, + ] + ] +): + root: Union[ + VolumeSchema37, + DensitySchema37, + SymmetrySchema37, + ElementalRatio37, + PNorm37, + InChIRepresentationSchema37, + InChIKeyRepresentationSchema37, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema37(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name311(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema37(BaseModel): + name: Name311 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions37(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata37(BaseModel): + boundaryConditions: Optional[BoundaryConditions37] = None + + +class CrystalSchema37(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema38 = Field(..., title="basis schema") + lattice: LatticeSchema37 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema37]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema37] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema37]] = None + metadata: Optional[Metadata37] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema17(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema37 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class GrainBoundaryLinearConfigurationSchema(BaseModel): + stack_components: List[ + Union[ + Union[SlabConfigurationSchema, SlabStrainedSupercellConfigurationSchema], + Union[SlabConfigurationSchema8, SlabStrainedSupercellConfigurationSchema3], + VacuumConfigurationSchema17, + ] + ] = Field(..., max_length=2, min_length=2) + """ + Components of the interface: slab, slab and vacuum + """ + direction: Optional[AxisEnum] = Field("x", title="Axis Enum") + """ + Enum for axis types + """ + actual_angle: Optional[confloat(ge=0.0, le=360.0)] = None + """ + The actual angle between the two phases + """ + xy_shift: Optional[List[float]] = Field([0, 0], max_length=2, min_length=2, title="vector 2d schema") + """ + xy shift for the film as cartesian 2D vector on the xy plane. + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/dist/py/materials_category/defective_structures/two_dimensional/adatom/__init__.py b/dist/py/materials_category/defective_structures/two_dimensional/adatom/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category/defective_structures/two_dimensional/adatom/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category/defective_structures/two_dimensional/adatom/configuration.py b/dist/py/materials_category/defective_structures/two_dimensional/adatom/configuration.py new file mode 100644 index 000000000..a4577375f --- /dev/null +++ b/dist/py/materials_category/defective_structures/two_dimensional/adatom/configuration.py @@ -0,0 +1,2278 @@ +# generated by datamodel-codegen: +# filename: materials_category/defective_structures/two_dimensional/adatom/configuration.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value47(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value47] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name161(Enum): + density = "density" + + +class Units67(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units67] = None + value: float + + +class Units68(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units68] = None + value: float + + +class Name162(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name163(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name164(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name165(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name166(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name167(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name167 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema(BaseModel): + termination_top: TerminationSchema = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class AxisEnum(Enum): + x = "x" + y = "y" + z = "z" + + +class Value48(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value49(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema23(BaseModel): + value: Union[Value48, Value49] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema21(BaseModel): + elements: List[AtomicElementSchema23] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema20(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema20(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema20(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema20] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema20] = Field( + default_factory=lambda: LatticeUnitsSchema20.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name168(Enum): + volume = "volume" + + +class Units69(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema20(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units69] = None + value: float + + +class Name169(Enum): + density = "density" + + +class Units70(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema20(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units70] = None + value: float + + +class Units71(Enum): + angstrom = "angstrom" + + +class ScalarSchema21(BaseModel): + units: Optional[Units71] = None + value: float + + +class Name170(Enum): + symmetry = "symmetry" + + +class SymmetrySchema20(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema21] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name171(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio20(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name172(Enum): + p_norm = "p-norm" + + +class PNorm20(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name173(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema20(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name174(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema20(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema20( + RootModel[ + Union[ + VolumeSchema20, + DensitySchema20, + SymmetrySchema20, + ElementalRatio20, + PNorm20, + InChIRepresentationSchema20, + InChIKeyRepresentationSchema20, + ] + ] +): + root: Union[ + VolumeSchema20, + DensitySchema20, + SymmetrySchema20, + ElementalRatio20, + PNorm20, + InChIRepresentationSchema20, + InChIKeyRepresentationSchema20, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema20(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name175(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema20(BaseModel): + name: Name175 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions20(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata20(BaseModel): + boundaryConditions: Optional[BoundaryConditions20] = None + + +class CrystalSchema20(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema21 = Field(..., title="basis schema") + lattice: LatticeSchema20 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema20]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema20] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema20]] = None + metadata: Optional[Metadata20] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema20 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class ObjectWithIdAndValueSchema(BaseModel): + value: float + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class SlabConfigurationSchema(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class Value50(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value51(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema24(BaseModel): + value: Union[Value50, Value51] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema22(BaseModel): + elements: List[AtomicElementSchema24] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema21(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema21(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema21(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema21] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema21] = Field( + default_factory=lambda: LatticeUnitsSchema21.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name176(Enum): + volume = "volume" + + +class Units72(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema21(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units72] = None + value: float + + +class Name177(Enum): + density = "density" + + +class Units73(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema21(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units73] = None + value: float + + +class Units74(Enum): + angstrom = "angstrom" + + +class ScalarSchema22(BaseModel): + units: Optional[Units74] = None + value: float + + +class Name178(Enum): + symmetry = "symmetry" + + +class SymmetrySchema21(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema22] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name179(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio21(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name180(Enum): + p_norm = "p-norm" + + +class PNorm21(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name181(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema21(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name182(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema21(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema21( + RootModel[ + Union[ + VolumeSchema21, + DensitySchema21, + SymmetrySchema21, + ElementalRatio21, + PNorm21, + InChIRepresentationSchema21, + InChIKeyRepresentationSchema21, + ] + ] +): + root: Union[ + VolumeSchema21, + DensitySchema21, + SymmetrySchema21, + ElementalRatio21, + PNorm21, + InChIRepresentationSchema21, + InChIKeyRepresentationSchema21, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema21(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name183(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema21(BaseModel): + name: Name183 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions21(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata21(BaseModel): + boundaryConditions: Optional[BoundaryConditions21] = None + + +class CrystalSchema21(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema22 = Field(..., title="basis schema") + lattice: LatticeSchema21 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema21]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema21] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema21]] = None + metadata: Optional[Metadata21] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class ChemicalElement(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class AtomSchema(BaseModel): + chemical_element: ChemicalElement + + +class ChemicalElement2(Enum): + X = "X" + Vac = "Vac" + + +class VacancySchema(BaseModel): + chemical_element: Optional[ChemicalElement2] = "Vac" + """ + Extra elements, used for convenience purposed + """ + + +class PointDefectSiteSchema(BaseModel): + crystal: CrystalSchema21 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + element: Union[AtomSchema, VacancySchema] + + +class Value52(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value53(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema25(BaseModel): + value: Union[Value52, Value53] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema23(BaseModel): + elements: List[AtomicElementSchema25] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema22(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema22(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema22(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema22] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema22] = Field( + default_factory=lambda: LatticeUnitsSchema22.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name184(Enum): + volume = "volume" + + +class Units75(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema22(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units75] = None + value: float + + +class Name185(Enum): + density = "density" + + +class Units76(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema22(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units76] = None + value: float + + +class Units77(Enum): + angstrom = "angstrom" + + +class ScalarSchema23(BaseModel): + units: Optional[Units77] = None + value: float + + +class Name186(Enum): + symmetry = "symmetry" + + +class SymmetrySchema22(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema23] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name187(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio22(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name188(Enum): + p_norm = "p-norm" + + +class PNorm22(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name189(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema22(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name190(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema22(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema22( + RootModel[ + Union[ + VolumeSchema22, + DensitySchema22, + SymmetrySchema22, + ElementalRatio22, + PNorm22, + InChIRepresentationSchema22, + InChIKeyRepresentationSchema22, + ] + ] +): + root: Union[ + VolumeSchema22, + DensitySchema22, + SymmetrySchema22, + ElementalRatio22, + PNorm22, + InChIRepresentationSchema22, + InChIKeyRepresentationSchema22, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema22(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name191(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema22(BaseModel): + name: Name191 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions22(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata22(BaseModel): + boundaryConditions: Optional[BoundaryConditions22] = None + + +class CrystalSchema22(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema23 = Field(..., title="basis schema") + lattice: LatticeSchema22 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema22]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema22] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema22]] = None + metadata: Optional[Metadata22] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema9(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema22 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class AdatomDefectConfigurationSchema(BaseModel): + stack_components: List[Union[SlabConfigurationSchema, PointDefectSiteSchema, VacuumConfigurationSchema9]] = Field( + ..., max_length=3, min_length=3 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/dist/py/materials_category/defective_structures/two_dimensional/grain_boundary_planar/__init__.py b/dist/py/materials_category/defective_structures/two_dimensional/grain_boundary_planar/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category/defective_structures/two_dimensional/grain_boundary_planar/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py b/dist/py/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py new file mode 100644 index 000000000..9d4a370d9 --- /dev/null +++ b/dist/py/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py @@ -0,0 +1,4610 @@ +# generated by datamodel-codegen: +# filename: materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class AxisEnum(Enum): + x = "x" + y = "y" + z = "z" + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value17(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value17] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name41(Enum): + density = "density" + + +class Units22(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units22] = None + value: float + + +class Units23(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units23] = None + value: float + + +class Name42(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name43(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name44(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name45(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name46(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name47(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name47 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema(BaseModel): + termination_top: TerminationSchema = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value18(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value19(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema8(BaseModel): + value: Union[Value18, Value19] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema6(BaseModel): + elements: List[AtomicElementSchema8] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema5(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema5(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema5(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema5] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema5] = Field( + default_factory=lambda: LatticeUnitsSchema5.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name48(Enum): + volume = "volume" + + +class Units24(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema5(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units24] = None + value: float + + +class Name49(Enum): + density = "density" + + +class Units25(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema5(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units25] = None + value: float + + +class Units26(Enum): + angstrom = "angstrom" + + +class ScalarSchema6(BaseModel): + units: Optional[Units26] = None + value: float + + +class Name50(Enum): + symmetry = "symmetry" + + +class SymmetrySchema5(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema6] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name51(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio5(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name52(Enum): + p_norm = "p-norm" + + +class PNorm5(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name53(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema5(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name54(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema5(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema5( + RootModel[ + Union[ + VolumeSchema5, + DensitySchema5, + SymmetrySchema5, + ElementalRatio5, + PNorm5, + InChIRepresentationSchema5, + InChIKeyRepresentationSchema5, + ] + ] +): + root: Union[ + VolumeSchema5, + DensitySchema5, + SymmetrySchema5, + ElementalRatio5, + PNorm5, + InChIRepresentationSchema5, + InChIKeyRepresentationSchema5, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema5(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name55(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema5(BaseModel): + name: Name55 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions5(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata5(BaseModel): + boundaryConditions: Optional[BoundaryConditions5] = None + + +class CrystalSchema5(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema6 = Field(..., title="basis schema") + lattice: LatticeSchema5 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema5]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema5] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema5]] = None + metadata: Optional[Metadata5] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema5 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class ObjectWithIdAndValueSchema(BaseModel): + value: float + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class SlabConfigurationSchema(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class SupercellMatrix2DSchemaItem(RootModel[List[int]]): + root: List[int] + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class TerminationSchema4(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value20(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value21(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema9(BaseModel): + value: Union[Value20, Value21] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema7(BaseModel): + elements: List[AtomicElementSchema9] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema6(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema6(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema6(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema6] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema6] = Field( + default_factory=lambda: LatticeUnitsSchema6.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name56(Enum): + volume = "volume" + + +class Units27(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema6(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units27] = None + value: float + + +class Name57(Enum): + density = "density" + + +class Units28(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema6(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units28] = None + value: float + + +class Units29(Enum): + angstrom = "angstrom" + + +class ScalarSchema7(BaseModel): + units: Optional[Units29] = None + value: float + + +class Name58(Enum): + symmetry = "symmetry" + + +class SymmetrySchema6(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema7] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name59(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio6(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name60(Enum): + p_norm = "p-norm" + + +class PNorm6(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name61(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema6(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name62(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema6(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema6( + RootModel[ + Union[ + VolumeSchema6, + DensitySchema6, + SymmetrySchema6, + ElementalRatio6, + PNorm6, + InChIRepresentationSchema6, + InChIKeyRepresentationSchema6, + ] + ] +): + root: Union[ + VolumeSchema6, + DensitySchema6, + SymmetrySchema6, + ElementalRatio6, + PNorm6, + InChIRepresentationSchema6, + InChIKeyRepresentationSchema6, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema6(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name63(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema6(BaseModel): + name: Name63 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions6(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata6(BaseModel): + boundaryConditions: Optional[BoundaryConditions6] = None + + +class CrystalSchema6(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema7 = Field(..., title="basis schema") + lattice: LatticeSchema6 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema6]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema6] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema6]] = None + metadata: Optional[Metadata6] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema2(BaseModel): + termination_top: TerminationSchema4 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema6 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value22(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value23(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema10(BaseModel): + value: Union[Value22, Value23] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema8(BaseModel): + elements: List[AtomicElementSchema10] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema7(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema7(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema7(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema7] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema7] = Field( + default_factory=lambda: LatticeUnitsSchema7.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name64(Enum): + volume = "volume" + + +class Units30(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema7(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units30] = None + value: float + + +class Name65(Enum): + density = "density" + + +class Units31(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema7(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units31] = None + value: float + + +class Units32(Enum): + angstrom = "angstrom" + + +class ScalarSchema8(BaseModel): + units: Optional[Units32] = None + value: float + + +class Name66(Enum): + symmetry = "symmetry" + + +class SymmetrySchema7(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema8] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name67(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio7(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name68(Enum): + p_norm = "p-norm" + + +class PNorm7(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name69(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema7(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name70(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema7(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema7( + RootModel[ + Union[ + VolumeSchema7, + DensitySchema7, + SymmetrySchema7, + ElementalRatio7, + PNorm7, + InChIRepresentationSchema7, + InChIKeyRepresentationSchema7, + ] + ] +): + root: Union[ + VolumeSchema7, + DensitySchema7, + SymmetrySchema7, + ElementalRatio7, + PNorm7, + InChIRepresentationSchema7, + InChIKeyRepresentationSchema7, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema7(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name71(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema7(BaseModel): + name: Name71 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions7(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata7(BaseModel): + boundaryConditions: Optional[BoundaryConditions7] = None + + +class CrystalSchema7(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema8 = Field(..., title="basis schema") + lattice: LatticeSchema7 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema7]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema7] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema7]] = None + metadata: Optional[Metadata7] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema1(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema7 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabStrainedSupercellConfigurationSchema(BaseModel): + xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field( + default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]], + max_length=2, + min_length=2, + title="Supercell Matrix 2D Schema", + ) + """ + Supercell matrix for xy plane transformations + """ + strain_matrix: List[ArrayOf3NumberElementsSchema] = Field( + ..., max_length=3, min_length=3, title="matrix 3x3 schema" + ) + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema2, VacuumConfigurationSchema1]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class TerminationSchema5(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value24(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value25(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema11(BaseModel): + value: Union[Value24, Value25] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema9(BaseModel): + elements: List[AtomicElementSchema11] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema8(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema8(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema8(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema8] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema8] = Field( + default_factory=lambda: LatticeUnitsSchema8.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name72(Enum): + volume = "volume" + + +class Units33(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema8(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units33] = None + value: float + + +class Name73(Enum): + density = "density" + + +class Units34(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema8(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units34] = None + value: float + + +class Units35(Enum): + angstrom = "angstrom" + + +class ScalarSchema9(BaseModel): + units: Optional[Units35] = None + value: float + + +class Name74(Enum): + symmetry = "symmetry" + + +class SymmetrySchema8(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema9] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name75(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio8(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name76(Enum): + p_norm = "p-norm" + + +class PNorm8(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name77(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema8(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name78(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema8(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema8( + RootModel[ + Union[ + VolumeSchema8, + DensitySchema8, + SymmetrySchema8, + ElementalRatio8, + PNorm8, + InChIRepresentationSchema8, + InChIKeyRepresentationSchema8, + ] + ] +): + root: Union[ + VolumeSchema8, + DensitySchema8, + SymmetrySchema8, + ElementalRatio8, + PNorm8, + InChIRepresentationSchema8, + InChIKeyRepresentationSchema8, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema8(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name79(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema8(BaseModel): + name: Name79 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions8(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata8(BaseModel): + boundaryConditions: Optional[BoundaryConditions8] = None + + +class CrystalSchema8(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema9 = Field(..., title="basis schema") + lattice: LatticeSchema8 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema8]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema8] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema8]] = None + metadata: Optional[Metadata8] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema3(BaseModel): + termination_top: TerminationSchema5 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema8 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value26(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value27(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema12(BaseModel): + value: Union[Value26, Value27] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema10(BaseModel): + elements: List[AtomicElementSchema12] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema9(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema9(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema9(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema9] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema9] = Field( + default_factory=lambda: LatticeUnitsSchema9.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name80(Enum): + volume = "volume" + + +class Units36(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema9(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units36] = None + value: float + + +class Name81(Enum): + density = "density" + + +class Units37(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema9(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units37] = None + value: float + + +class Units38(Enum): + angstrom = "angstrom" + + +class ScalarSchema10(BaseModel): + units: Optional[Units38] = None + value: float + + +class Name82(Enum): + symmetry = "symmetry" + + +class SymmetrySchema9(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema10] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name83(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio9(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name84(Enum): + p_norm = "p-norm" + + +class PNorm9(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name85(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema9(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name86(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema9(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema9( + RootModel[ + Union[ + VolumeSchema9, + DensitySchema9, + SymmetrySchema9, + ElementalRatio9, + PNorm9, + InChIRepresentationSchema9, + InChIKeyRepresentationSchema9, + ] + ] +): + root: Union[ + VolumeSchema9, + DensitySchema9, + SymmetrySchema9, + ElementalRatio9, + PNorm9, + InChIRepresentationSchema9, + InChIKeyRepresentationSchema9, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema9(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name87(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema9(BaseModel): + name: Name87 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions9(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata9(BaseModel): + boundaryConditions: Optional[BoundaryConditions9] = None + + +class CrystalSchema9(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema10 = Field(..., title="basis schema") + lattice: LatticeSchema9 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema9]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema9] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema9]] = None + metadata: Optional[Metadata9] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema2(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema9 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabConfigurationSchema1(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema3, VacuumConfigurationSchema2]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class TerminationSchema6(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value28(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value29(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema13(BaseModel): + value: Union[Value28, Value29] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema11(BaseModel): + elements: List[AtomicElementSchema13] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema10(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema10(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema10(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema10] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema10] = Field( + default_factory=lambda: LatticeUnitsSchema10.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name88(Enum): + volume = "volume" + + +class Units39(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema10(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units39] = None + value: float + + +class Name89(Enum): + density = "density" + + +class Units40(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema10(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units40] = None + value: float + + +class Units41(Enum): + angstrom = "angstrom" + + +class ScalarSchema11(BaseModel): + units: Optional[Units41] = None + value: float + + +class Name90(Enum): + symmetry = "symmetry" + + +class SymmetrySchema10(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema11] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name91(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio10(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name92(Enum): + p_norm = "p-norm" + + +class PNorm10(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name93(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema10(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name94(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema10(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema10( + RootModel[ + Union[ + VolumeSchema10, + DensitySchema10, + SymmetrySchema10, + ElementalRatio10, + PNorm10, + InChIRepresentationSchema10, + InChIKeyRepresentationSchema10, + ] + ] +): + root: Union[ + VolumeSchema10, + DensitySchema10, + SymmetrySchema10, + ElementalRatio10, + PNorm10, + InChIRepresentationSchema10, + InChIKeyRepresentationSchema10, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema10(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name95(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema10(BaseModel): + name: Name95 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions10(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata10(BaseModel): + boundaryConditions: Optional[BoundaryConditions10] = None + + +class CrystalSchema10(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema11 = Field(..., title="basis schema") + lattice: LatticeSchema10 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema10]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema10] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema10]] = None + metadata: Optional[Metadata10] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema4(BaseModel): + termination_top: TerminationSchema6 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema10 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value30(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value31(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema14(BaseModel): + value: Union[Value30, Value31] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema12(BaseModel): + elements: List[AtomicElementSchema14] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema11(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema11(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema11(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema11] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema11] = Field( + default_factory=lambda: LatticeUnitsSchema11.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name96(Enum): + volume = "volume" + + +class Units42(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema11(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units42] = None + value: float + + +class Name97(Enum): + density = "density" + + +class Units43(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema11(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units43] = None + value: float + + +class Units44(Enum): + angstrom = "angstrom" + + +class ScalarSchema12(BaseModel): + units: Optional[Units44] = None + value: float + + +class Name98(Enum): + symmetry = "symmetry" + + +class SymmetrySchema11(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema12] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name99(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio11(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name100(Enum): + p_norm = "p-norm" + + +class PNorm11(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name101(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema11(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name102(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema11(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema11( + RootModel[ + Union[ + VolumeSchema11, + DensitySchema11, + SymmetrySchema11, + ElementalRatio11, + PNorm11, + InChIRepresentationSchema11, + InChIKeyRepresentationSchema11, + ] + ] +): + root: Union[ + VolumeSchema11, + DensitySchema11, + SymmetrySchema11, + ElementalRatio11, + PNorm11, + InChIRepresentationSchema11, + InChIKeyRepresentationSchema11, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema11(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name103(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema11(BaseModel): + name: Name103 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions11(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata11(BaseModel): + boundaryConditions: Optional[BoundaryConditions11] = None + + +class CrystalSchema11(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema12 = Field(..., title="basis schema") + lattice: LatticeSchema11 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema11]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema11] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema11]] = None + metadata: Optional[Metadata11] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema3(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema11 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabStrainedSupercellConfigurationSchema1(BaseModel): + xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field( + default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]], + max_length=2, + min_length=2, + title="Supercell Matrix 2D Schema", + ) + """ + Supercell matrix for xy plane transformations + """ + strain_matrix: List[ArrayOf3NumberElementsSchema] = Field( + ..., max_length=3, min_length=3, title="matrix 3x3 schema" + ) + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema4, VacuumConfigurationSchema3]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class Value32(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value33(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema15(BaseModel): + value: Union[Value32, Value33] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema13(BaseModel): + elements: List[AtomicElementSchema15] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema12(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema12(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema12(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema12] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema12] = Field( + default_factory=lambda: LatticeUnitsSchema12.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name104(Enum): + volume = "volume" + + +class Units45(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema12(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units45] = None + value: float + + +class Name105(Enum): + density = "density" + + +class Units46(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema12(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units46] = None + value: float + + +class Units47(Enum): + angstrom = "angstrom" + + +class ScalarSchema13(BaseModel): + units: Optional[Units47] = None + value: float + + +class Name106(Enum): + symmetry = "symmetry" + + +class SymmetrySchema12(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema13] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name107(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio12(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name108(Enum): + p_norm = "p-norm" + + +class PNorm12(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name109(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema12(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name110(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema12(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema12( + RootModel[ + Union[ + VolumeSchema12, + DensitySchema12, + SymmetrySchema12, + ElementalRatio12, + PNorm12, + InChIRepresentationSchema12, + InChIKeyRepresentationSchema12, + ] + ] +): + root: Union[ + VolumeSchema12, + DensitySchema12, + SymmetrySchema12, + ElementalRatio12, + PNorm12, + InChIRepresentationSchema12, + InChIKeyRepresentationSchema12, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema12(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name111(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema12(BaseModel): + name: Name111 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions12(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata12(BaseModel): + boundaryConditions: Optional[BoundaryConditions12] = None + + +class CrystalSchema12(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema13 = Field(..., title="basis schema") + lattice: LatticeSchema12 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema12]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema12] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema12]] = None + metadata: Optional[Metadata12] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema4(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema12 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class GrainBoundaryPlanarConfigurationSchema(BaseModel): + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + stack_components: List[ + Union[ + Union[SlabConfigurationSchema, SlabStrainedSupercellConfigurationSchema], + Union[SlabConfigurationSchema1, SlabStrainedSupercellConfigurationSchema1], + VacuumConfigurationSchema4, + ] + ] = Field(..., max_length=3, min_length=2) + """ + Components of the interface: slab, slab and vacuum + """ + xy_shift: Optional[List[float]] = Field([0, 0], max_length=2, min_length=2, title="vector 2d schema") + """ + xy shift for the film as cartesian 2D vector on the xy plane. + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/dist/py/materials_category/defective_structures/two_dimensional/island/__init__.py b/dist/py/materials_category/defective_structures/two_dimensional/island/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category/defective_structures/two_dimensional/island/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category/defective_structures/two_dimensional/island/configuration.py b/dist/py/materials_category/defective_structures/two_dimensional/island/configuration.py new file mode 100644 index 000000000..8b15edac1 --- /dev/null +++ b/dist/py/materials_category/defective_structures/two_dimensional/island/configuration.py @@ -0,0 +1,3171 @@ +# generated by datamodel-codegen: +# filename: materials_category/defective_structures/two_dimensional/island/configuration.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value55(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value55] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name193(Enum): + density = "density" + + +class Units79(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units79] = None + value: float + + +class Units80(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units80] = None + value: float + + +class Name194(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name195(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name196(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name197(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name198(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name199(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name199 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema(BaseModel): + termination_top: TerminationSchema = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class AxisEnum(Enum): + x = "x" + y = "y" + z = "z" + + +class Value56(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value57(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema27(BaseModel): + value: Union[Value56, Value57] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema25(BaseModel): + elements: List[AtomicElementSchema27] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema24(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema24(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema24(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema24] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema24] = Field( + default_factory=lambda: LatticeUnitsSchema24.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name200(Enum): + volume = "volume" + + +class Units81(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema24(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units81] = None + value: float + + +class Name201(Enum): + density = "density" + + +class Units82(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema24(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units82] = None + value: float + + +class Units83(Enum): + angstrom = "angstrom" + + +class ScalarSchema25(BaseModel): + units: Optional[Units83] = None + value: float + + +class Name202(Enum): + symmetry = "symmetry" + + +class SymmetrySchema24(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema25] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name203(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio24(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name204(Enum): + p_norm = "p-norm" + + +class PNorm24(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name205(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema24(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name206(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema24(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema24( + RootModel[ + Union[ + VolumeSchema24, + DensitySchema24, + SymmetrySchema24, + ElementalRatio24, + PNorm24, + InChIRepresentationSchema24, + InChIKeyRepresentationSchema24, + ] + ] +): + root: Union[ + VolumeSchema24, + DensitySchema24, + SymmetrySchema24, + ElementalRatio24, + PNorm24, + InChIRepresentationSchema24, + InChIKeyRepresentationSchema24, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema24(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name207(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema24(BaseModel): + name: Name207 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions24(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata24(BaseModel): + boundaryConditions: Optional[BoundaryConditions24] = None + + +class CrystalSchema24(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema25 = Field(..., title="basis schema") + lattice: LatticeSchema24 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema24]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema24] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema24]] = None + metadata: Optional[Metadata24] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema24 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class ObjectWithIdAndValueSchema(BaseModel): + value: float + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class SlabConfigurationSchema(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class TerminationSchema11(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value58(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value59(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema28(BaseModel): + value: Union[Value58, Value59] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema26(BaseModel): + elements: List[AtomicElementSchema28] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema25(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema25(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema25(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema25] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema25] = Field( + default_factory=lambda: LatticeUnitsSchema25.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name208(Enum): + volume = "volume" + + +class Units84(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema25(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units84] = None + value: float + + +class Name209(Enum): + density = "density" + + +class Units85(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema25(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units85] = None + value: float + + +class Units86(Enum): + angstrom = "angstrom" + + +class ScalarSchema26(BaseModel): + units: Optional[Units86] = None + value: float + + +class Name210(Enum): + symmetry = "symmetry" + + +class SymmetrySchema25(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema26] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name211(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio25(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name212(Enum): + p_norm = "p-norm" + + +class PNorm25(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name213(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema25(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name214(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema25(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema25( + RootModel[ + Union[ + VolumeSchema25, + DensitySchema25, + SymmetrySchema25, + ElementalRatio25, + PNorm25, + InChIRepresentationSchema25, + InChIKeyRepresentationSchema25, + ] + ] +): + root: Union[ + VolumeSchema25, + DensitySchema25, + SymmetrySchema25, + ElementalRatio25, + PNorm25, + InChIRepresentationSchema25, + InChIKeyRepresentationSchema25, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema25(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name215(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema25(BaseModel): + name: Name215 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions25(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata25(BaseModel): + boundaryConditions: Optional[BoundaryConditions25] = None + + +class CrystalSchema25(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema26 = Field(..., title="basis schema") + lattice: LatticeSchema25 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema25]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema25] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema25]] = None + metadata: Optional[Metadata25] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema9(BaseModel): + termination_top: TerminationSchema11 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema25 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value60(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value61(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema29(BaseModel): + value: Union[Value60, Value61] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema27(BaseModel): + elements: List[AtomicElementSchema29] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema26(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema26(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema26(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema26] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema26] = Field( + default_factory=lambda: LatticeUnitsSchema26.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name216(Enum): + volume = "volume" + + +class Units87(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema26(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units87] = None + value: float + + +class Name217(Enum): + density = "density" + + +class Units88(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema26(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units88] = None + value: float + + +class Units89(Enum): + angstrom = "angstrom" + + +class ScalarSchema27(BaseModel): + units: Optional[Units89] = None + value: float + + +class Name218(Enum): + symmetry = "symmetry" + + +class SymmetrySchema26(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema27] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name219(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio26(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name220(Enum): + p_norm = "p-norm" + + +class PNorm26(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name221(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema26(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name222(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema26(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema26( + RootModel[ + Union[ + VolumeSchema26, + DensitySchema26, + SymmetrySchema26, + ElementalRatio26, + PNorm26, + InChIRepresentationSchema26, + InChIKeyRepresentationSchema26, + ] + ] +): + root: Union[ + VolumeSchema26, + DensitySchema26, + SymmetrySchema26, + ElementalRatio26, + PNorm26, + InChIRepresentationSchema26, + InChIKeyRepresentationSchema26, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema26(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name223(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema26(BaseModel): + name: Name223 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions26(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata26(BaseModel): + boundaryConditions: Optional[BoundaryConditions26] = None + + +class CrystalSchema26(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema27 = Field(..., title="basis schema") + lattice: LatticeSchema26 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema26]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema26] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema26]] = None + metadata: Optional[Metadata26] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema11(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema26 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabConfigurationSchema6(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema9, VacuumConfigurationSchema11]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class Value62(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value63(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema30(BaseModel): + value: Union[Value62, Value63] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema28(BaseModel): + elements: List[AtomicElementSchema30] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema27(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema27(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema27(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema27] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema27] = Field( + default_factory=lambda: LatticeUnitsSchema27.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name224(Enum): + volume = "volume" + + +class Units90(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema27(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units90] = None + value: float + + +class Name225(Enum): + density = "density" + + +class Units91(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema27(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units91] = None + value: float + + +class Units92(Enum): + angstrom = "angstrom" + + +class ScalarSchema28(BaseModel): + units: Optional[Units92] = None + value: float + + +class Name226(Enum): + symmetry = "symmetry" + + +class SymmetrySchema27(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema28] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name227(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio27(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name228(Enum): + p_norm = "p-norm" + + +class PNorm27(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name229(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema27(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name230(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema27(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema27( + RootModel[ + Union[ + VolumeSchema27, + DensitySchema27, + SymmetrySchema27, + ElementalRatio27, + PNorm27, + InChIRepresentationSchema27, + InChIKeyRepresentationSchema27, + ] + ] +): + root: Union[ + VolumeSchema27, + DensitySchema27, + SymmetrySchema27, + ElementalRatio27, + PNorm27, + InChIRepresentationSchema27, + InChIKeyRepresentationSchema27, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema27(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name231(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema27(BaseModel): + name: Name231 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions27(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata27(BaseModel): + boundaryConditions: Optional[BoundaryConditions27] = None + + +class CrystalSchema27(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema28 = Field(..., title="basis schema") + lattice: LatticeSchema27 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema27]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema27] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema27]] = None + metadata: Optional[Metadata27] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class BoxCoordinateConditionSchema(BaseModel): + shape: Literal["box"] = Field("box", title="Coordinate Shape Enum") + min_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + max_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + + +class SphereCoordinateConditionSchema(BaseModel): + shape: Literal["sphere"] = Field("sphere", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + + +class CylinderCoordinateConditionSchema(BaseModel): + shape: Literal["cylinder"] = Field("cylinder", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + min_z: float + max_z: float + + +class TriangularPrismCoordinateConditionSchema(BaseModel): + shape: Literal["triangular_prism"] = Field("triangular_prism", title="Coordinate Shape Enum") + position_on_surface_1: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_2: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_3: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + min_z: float + max_z: float + + +class PlaneCoordinateConditionSchema(BaseModel): + shape: Literal["plane"] = Field("plane", title="Coordinate Shape Enum") + plane_normal: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + plane_point_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + + +class VoidRegionSchema(BaseModel): + crystal: CrystalSchema27 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + coordinate_condition: Union[ + BoxCoordinateConditionSchema, + SphereCoordinateConditionSchema, + CylinderCoordinateConditionSchema, + TriangularPrismCoordinateConditionSchema, + PlaneCoordinateConditionSchema, + ] = Field(..., title="Coordinate Conditions Schema") + """ + Combined schema for all coordinate condition types + """ + + +class MergeMethodsEnum(Enum): + ADD = "ADD" + REPLACE = "REPLACE" + YIELD = "YIELD" + + +class MergeSchema(BaseModel): + merge_components: List[Union[SlabConfigurationSchema6, VoidRegionSchema]] = Field(..., max_length=2, min_length=2) + merge_method: Optional[MergeMethodsEnum] = Field("REPLACE", title="Merge Methods Enum") + """ + Available methods for merging components + """ + + +class Value64(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value65(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema31(BaseModel): + value: Union[Value64, Value65] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema29(BaseModel): + elements: List[AtomicElementSchema31] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema28(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema28(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema28(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema28] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema28] = Field( + default_factory=lambda: LatticeUnitsSchema28.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name232(Enum): + volume = "volume" + + +class Units93(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema28(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units93] = None + value: float + + +class Name233(Enum): + density = "density" + + +class Units94(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema28(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units94] = None + value: float + + +class Units95(Enum): + angstrom = "angstrom" + + +class ScalarSchema29(BaseModel): + units: Optional[Units95] = None + value: float + + +class Name234(Enum): + symmetry = "symmetry" + + +class SymmetrySchema28(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema29] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name235(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio28(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name236(Enum): + p_norm = "p-norm" + + +class PNorm28(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name237(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema28(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name238(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema28(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema28( + RootModel[ + Union[ + VolumeSchema28, + DensitySchema28, + SymmetrySchema28, + ElementalRatio28, + PNorm28, + InChIRepresentationSchema28, + InChIKeyRepresentationSchema28, + ] + ] +): + root: Union[ + VolumeSchema28, + DensitySchema28, + SymmetrySchema28, + ElementalRatio28, + PNorm28, + InChIRepresentationSchema28, + InChIKeyRepresentationSchema28, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema28(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name239(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema28(BaseModel): + name: Name239 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions28(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata28(BaseModel): + boundaryConditions: Optional[BoundaryConditions28] = None + + +class CrystalSchema28(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema29 = Field(..., title="basis schema") + lattice: LatticeSchema28 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema28]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema28] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema28]] = None + metadata: Optional[Metadata28] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema12(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema28 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class IslandDefectConfigurationSchema(BaseModel): + stack_components: List[Union[SlabConfigurationSchema, MergeSchema, VacuumConfigurationSchema12]] = Field( + ..., max_length=3, min_length=3 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/dist/py/materials_category/defective_structures/two_dimensional/terrace/__init__.py b/dist/py/materials_category/defective_structures/two_dimensional/terrace/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category/defective_structures/two_dimensional/terrace/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category/defective_structures/two_dimensional/terrace/configuration.py b/dist/py/materials_category/defective_structures/two_dimensional/terrace/configuration.py new file mode 100644 index 000000000..21d3c094f --- /dev/null +++ b/dist/py/materials_category/defective_structures/two_dimensional/terrace/configuration.py @@ -0,0 +1,3175 @@ +# generated by datamodel-codegen: +# filename: materials_category/defective_structures/two_dimensional/terrace/configuration.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value35(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value35] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name113(Enum): + density = "density" + + +class Units49(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units49] = None + value: float + + +class Units50(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units50] = None + value: float + + +class Name114(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name115(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name116(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name117(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name118(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name119(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name119 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema(BaseModel): + termination_top: TerminationSchema = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class AxisEnum(Enum): + x = "x" + y = "y" + z = "z" + + +class Value36(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value37(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema17(BaseModel): + value: Union[Value36, Value37] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema15(BaseModel): + elements: List[AtomicElementSchema17] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema14(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema14(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema14(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema14] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema14] = Field( + default_factory=lambda: LatticeUnitsSchema14.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name120(Enum): + volume = "volume" + + +class Units51(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema14(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units51] = None + value: float + + +class Name121(Enum): + density = "density" + + +class Units52(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema14(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units52] = None + value: float + + +class Units53(Enum): + angstrom = "angstrom" + + +class ScalarSchema15(BaseModel): + units: Optional[Units53] = None + value: float + + +class Name122(Enum): + symmetry = "symmetry" + + +class SymmetrySchema14(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema15] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name123(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio14(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name124(Enum): + p_norm = "p-norm" + + +class PNorm14(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name125(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema14(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name126(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema14(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema14( + RootModel[ + Union[ + VolumeSchema14, + DensitySchema14, + SymmetrySchema14, + ElementalRatio14, + PNorm14, + InChIRepresentationSchema14, + InChIKeyRepresentationSchema14, + ] + ] +): + root: Union[ + VolumeSchema14, + DensitySchema14, + SymmetrySchema14, + ElementalRatio14, + PNorm14, + InChIRepresentationSchema14, + InChIKeyRepresentationSchema14, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema14(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name127(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema14(BaseModel): + name: Name127 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions14(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata14(BaseModel): + boundaryConditions: Optional[BoundaryConditions14] = None + + +class CrystalSchema14(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema15 = Field(..., title="basis schema") + lattice: LatticeSchema14 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema14]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema14] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema14]] = None + metadata: Optional[Metadata14] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema14 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class ObjectWithIdAndValueSchema(BaseModel): + value: float + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class SlabConfigurationSchema(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class TerminationSchema8(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value38(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value39(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema18(BaseModel): + value: Union[Value38, Value39] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema16(BaseModel): + elements: List[AtomicElementSchema18] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema15(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema15(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema15(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema15] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema15] = Field( + default_factory=lambda: LatticeUnitsSchema15.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name128(Enum): + volume = "volume" + + +class Units54(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema15(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units54] = None + value: float + + +class Name129(Enum): + density = "density" + + +class Units55(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema15(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units55] = None + value: float + + +class Units56(Enum): + angstrom = "angstrom" + + +class ScalarSchema16(BaseModel): + units: Optional[Units56] = None + value: float + + +class Name130(Enum): + symmetry = "symmetry" + + +class SymmetrySchema15(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema16] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name131(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio15(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name132(Enum): + p_norm = "p-norm" + + +class PNorm15(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name133(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema15(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name134(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema15(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema15( + RootModel[ + Union[ + VolumeSchema15, + DensitySchema15, + SymmetrySchema15, + ElementalRatio15, + PNorm15, + InChIRepresentationSchema15, + InChIKeyRepresentationSchema15, + ] + ] +): + root: Union[ + VolumeSchema15, + DensitySchema15, + SymmetrySchema15, + ElementalRatio15, + PNorm15, + InChIRepresentationSchema15, + InChIKeyRepresentationSchema15, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema15(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name135(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema15(BaseModel): + name: Name135 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions15(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata15(BaseModel): + boundaryConditions: Optional[BoundaryConditions15] = None + + +class CrystalSchema15(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema16 = Field(..., title="basis schema") + lattice: LatticeSchema15 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema15]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema15] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema15]] = None + metadata: Optional[Metadata15] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema6(BaseModel): + termination_top: TerminationSchema8 = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema15 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class Value40(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value41(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema19(BaseModel): + value: Union[Value40, Value41] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema17(BaseModel): + elements: List[AtomicElementSchema19] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema16(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema16(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema16(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema16] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema16] = Field( + default_factory=lambda: LatticeUnitsSchema16.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name136(Enum): + volume = "volume" + + +class Units57(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema16(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units57] = None + value: float + + +class Name137(Enum): + density = "density" + + +class Units58(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema16(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units58] = None + value: float + + +class Units59(Enum): + angstrom = "angstrom" + + +class ScalarSchema17(BaseModel): + units: Optional[Units59] = None + value: float + + +class Name138(Enum): + symmetry = "symmetry" + + +class SymmetrySchema16(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema17] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name139(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio16(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name140(Enum): + p_norm = "p-norm" + + +class PNorm16(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name141(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema16(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name142(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema16(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema16( + RootModel[ + Union[ + VolumeSchema16, + DensitySchema16, + SymmetrySchema16, + ElementalRatio16, + PNorm16, + InChIRepresentationSchema16, + InChIKeyRepresentationSchema16, + ] + ] +): + root: Union[ + VolumeSchema16, + DensitySchema16, + SymmetrySchema16, + ElementalRatio16, + PNorm16, + InChIRepresentationSchema16, + InChIKeyRepresentationSchema16, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema16(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name143(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema16(BaseModel): + name: Name143 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions16(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata16(BaseModel): + boundaryConditions: Optional[BoundaryConditions16] = None + + +class CrystalSchema16(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema17 = Field(..., title="basis schema") + lattice: LatticeSchema16 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema16]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema16] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema16]] = None + metadata: Optional[Metadata16] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema6(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema16 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class SlabConfigurationSchema3(BaseModel): + stack_components: List[Union[AtomicLayersUniqueRepeatedSchema6, VacuumConfigurationSchema6]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ + + +class Value42(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value43(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema20(BaseModel): + value: Union[Value42, Value43] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema18(BaseModel): + elements: List[AtomicElementSchema20] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema17(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema17(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema17(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema17] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema17] = Field( + default_factory=lambda: LatticeUnitsSchema17.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name144(Enum): + volume = "volume" + + +class Units60(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema17(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units60] = None + value: float + + +class Name145(Enum): + density = "density" + + +class Units61(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema17(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units61] = None + value: float + + +class Units62(Enum): + angstrom = "angstrom" + + +class ScalarSchema18(BaseModel): + units: Optional[Units62] = None + value: float + + +class Name146(Enum): + symmetry = "symmetry" + + +class SymmetrySchema17(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema18] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name147(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio17(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name148(Enum): + p_norm = "p-norm" + + +class PNorm17(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name149(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema17(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name150(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema17(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema17( + RootModel[ + Union[ + VolumeSchema17, + DensitySchema17, + SymmetrySchema17, + ElementalRatio17, + PNorm17, + InChIRepresentationSchema17, + InChIKeyRepresentationSchema17, + ] + ] +): + root: Union[ + VolumeSchema17, + DensitySchema17, + SymmetrySchema17, + ElementalRatio17, + PNorm17, + InChIRepresentationSchema17, + InChIKeyRepresentationSchema17, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema17(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name151(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema17(BaseModel): + name: Name151 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions17(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata17(BaseModel): + boundaryConditions: Optional[BoundaryConditions17] = None + + +class CrystalSchema17(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema18 = Field(..., title="basis schema") + lattice: LatticeSchema17 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema17]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema17] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema17]] = None + metadata: Optional[Metadata17] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class BoxCoordinateConditionSchema(BaseModel): + shape: Literal["box"] = Field("box", title="Coordinate Shape Enum") + min_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + max_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + + +class SphereCoordinateConditionSchema(BaseModel): + shape: Literal["sphere"] = Field("sphere", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + + +class CylinderCoordinateConditionSchema(BaseModel): + shape: Literal["cylinder"] = Field("cylinder", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + min_z: float + max_z: float + + +class TriangularPrismCoordinateConditionSchema(BaseModel): + shape: Literal["triangular_prism"] = Field("triangular_prism", title="Coordinate Shape Enum") + position_on_surface_1: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_2: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_3: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + min_z: float + max_z: float + + +class PlaneCoordinateConditionSchema(BaseModel): + shape: Literal["plane"] = Field("plane", title="Coordinate Shape Enum") + plane_normal: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + plane_point_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + + +class VoidRegionSchema(BaseModel): + crystal: CrystalSchema17 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + coordinate_condition: Union[ + BoxCoordinateConditionSchema, + SphereCoordinateConditionSchema, + CylinderCoordinateConditionSchema, + TriangularPrismCoordinateConditionSchema, + PlaneCoordinateConditionSchema, + ] = Field(..., title="Coordinate Conditions Schema") + """ + Combined schema for all coordinate condition types + """ + + +class MergeMethodsEnum(Enum): + ADD = "ADD" + REPLACE = "REPLACE" + YIELD = "YIELD" + + +class MergeSchema(BaseModel): + merge_components: List[Union[SlabConfigurationSchema3, VoidRegionSchema]] = Field(..., max_length=2, min_length=2) + merge_method: Optional[MergeMethodsEnum] = Field("REPLACE", title="Merge Methods Enum") + """ + Available methods for merging components + """ + + +class Value44(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value45(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema21(BaseModel): + value: Union[Value44, Value45] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema19(BaseModel): + elements: List[AtomicElementSchema21] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema18(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema18(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema18(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema18] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema18] = Field( + default_factory=lambda: LatticeUnitsSchema18.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name152(Enum): + volume = "volume" + + +class Units63(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema18(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units63] = None + value: float + + +class Name153(Enum): + density = "density" + + +class Units64(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema18(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units64] = None + value: float + + +class Units65(Enum): + angstrom = "angstrom" + + +class ScalarSchema19(BaseModel): + units: Optional[Units65] = None + value: float + + +class Name154(Enum): + symmetry = "symmetry" + + +class SymmetrySchema18(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema19] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name155(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio18(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name156(Enum): + p_norm = "p-norm" + + +class PNorm18(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name157(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema18(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name158(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema18(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema18( + RootModel[ + Union[ + VolumeSchema18, + DensitySchema18, + SymmetrySchema18, + ElementalRatio18, + PNorm18, + InChIRepresentationSchema18, + InChIKeyRepresentationSchema18, + ] + ] +): + root: Union[ + VolumeSchema18, + DensitySchema18, + SymmetrySchema18, + ElementalRatio18, + PNorm18, + InChIRepresentationSchema18, + InChIKeyRepresentationSchema18, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema18(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name159(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema18(BaseModel): + name: Name159 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions18(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata18(BaseModel): + boundaryConditions: Optional[BoundaryConditions18] = None + + +class CrystalSchema18(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema19 = Field(..., title="basis schema") + lattice: LatticeSchema18 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema18]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema18] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema18]] = None + metadata: Optional[Metadata18] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema7(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema18 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class TerraceDefectConfigurationSchema(BaseModel): + stack_components: List[Union[SlabConfigurationSchema, MergeSchema, VacuumConfigurationSchema7]] = Field( + ..., max_length=3, min_length=3 + ) + cut_direction: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/__init__.py b/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.py b/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.py new file mode 100644 index 000000000..bc54cb9f6 --- /dev/null +++ b/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.py @@ -0,0 +1,570 @@ +# generated by datamodel-codegen: +# filename: materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value13(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value13] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name31(Enum): + density = "density" + + +class Units18(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units18] = None + value: float + + +class Units19(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units19] = None + value: float + + +class Name32(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name33(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name34(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name35(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name36(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name37(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name37 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class MergeMethodsEnum(Enum): + ADD = "ADD" + REPLACE = "REPLACE" + YIELD = "YIELD" + + +class PointDefectBaseConfigurationSchema(BaseModel): + merge_components: List[CrystalSchema] = Field(..., max_length=2, min_length=2) + merge_method: Optional[MergeMethodsEnum] = Field("REPLACE", title="Merge Methods Enum") + """ + Available methods for merging components + """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py b/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py similarity index 72% rename from src/py/mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py rename to dist/py/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py index 0e294edfe..7b9b6942e 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py +++ b/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: materials_category_components/operations/core/combinations/stack_component.json +# filename: materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json # version: 0.28.5 from __future__ import annotations @@ -131,13 +131,13 @@ class Value(Enum): Og = "Og" -class Value45(Enum): +class Value122(Enum): X = "X" Vac = "Vac" class AtomicElementSchema(BaseModel): - value: Union[Value, Value45] + value: Union[Value, Value122] """ All elements, including extra elements """ @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name182(Enum): +class Name537(Enum): density = "density" -class Units90(Enum): +class Units239(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units90] = None + units: Optional[Units239] = None value: float -class Units91(Enum): +class Units240(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units91] = None + units: Optional[Units240] = None value: float -class Name183(Enum): +class Name538(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name184(Enum): +class Name539(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name185(Enum): +class Name540(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name186(Enum): +class Name541(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name187(Enum): +class Name542(Enum): inchi_key = "inchi_key" @@ -396,12 +396,19 @@ class DerivedPropertiesSchema( ] = Field(..., discriminator="name") +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + class DatabaseSourceSchema(BaseModel): id: Union[str, float] """ ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 """ - source: str + source: Source """ Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. """ @@ -442,7 +449,7 @@ class FileSourceSchema(BaseModel): """ -class Name188(Enum): +class Name543(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -455,7 +462,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name188 + name: Name543 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -473,6 +480,25 @@ class MaterialConsistencyCheckSchema(BaseModel): """ +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + class CrystalSchema(BaseModel): formula: Optional[str] = None """ @@ -506,6 +532,7 @@ class CrystalSchema(BaseModel): Whether to work in the finite molecular picture (usually with atomic orbital basis) """ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -519,7 +546,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -527,16 +554,9 @@ class CrystalSchema(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None - -class AxisEnum(Enum): - x = "x" - y = "y" - z = "z" - -class Value46(Enum): +class Value123(Enum): H = "H" He = "He" Li = "Li" @@ -657,13 +677,13 @@ class Value46(Enum): Og = "Og" -class Value47(Enum): +class Value124(Enum): X = "X" Vac = "Vac" -class AtomicElementSchema19(BaseModel): - value: Union[Value46, Value47] +class AtomicElementSchema60(BaseModel): + value: Union[Value123, Value124] """ All elements, including extra elements """ @@ -673,8 +693,8 @@ class AtomicElementSchema19(BaseModel): """ -class BasisSchema17(BaseModel): - elements: List[AtomicElementSchema19] = Field(..., title="atomic elements schema") +class BasisSchema58(BaseModel): + elements: List[AtomicElementSchema60] = Field(..., title="atomic elements schema") """ atomic elements schema """ @@ -689,7 +709,7 @@ class BasisSchema17(BaseModel): """ -class LatticeVectorsSchema17(BaseModel): +class LatticeVectorsSchema57(BaseModel): a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") @@ -700,12 +720,12 @@ class LatticeVectorsSchema17(BaseModel): units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") -class LatticeUnitsSchema18(BaseModel): +class LatticeUnitsSchema57(BaseModel): length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") -class LatticeSchema17(BaseModel): +class LatticeSchema57(BaseModel): a: float """ length of the first lattice vector @@ -730,56 +750,56 @@ class LatticeSchema17(BaseModel): """ angle between first and third lattice vector """ - vectors: Optional[LatticeVectorsSchema17] = Field(None, title="lattice vectors schema") + vectors: Optional[LatticeVectorsSchema57] = Field(None, title="lattice vectors schema") type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") - units: Optional[LatticeUnitsSchema18] = Field( - default_factory=lambda: LatticeUnitsSchema18.model_validate({"length": "angstrom", "angle": "degree"}), + units: Optional[LatticeUnitsSchema57] = Field( + default_factory=lambda: LatticeUnitsSchema57.model_validate({"length": "angstrom", "angle": "degree"}), title="Lattice units schema", ) -class Name189(Enum): +class Name544(Enum): volume = "volume" -class Units92(Enum): +class Units241(Enum): angstrom_3 = "angstrom^3" -class VolumeSchema17(BaseModel): +class VolumeSchema58(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units92] = None + units: Optional[Units241] = None value: float -class Name190(Enum): +class Name545(Enum): density = "density" -class Units93(Enum): +class Units242(Enum): g_cm_3 = "g/cm^3" -class DensitySchema18(BaseModel): +class DensitySchema59(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units93] = None + units: Optional[Units242] = None value: float -class Units94(Enum): +class Units243(Enum): angstrom = "angstrom" -class ScalarSchema19(BaseModel): - units: Optional[Units94] = None +class ScalarSchema73(BaseModel): + units: Optional[Units243] = None value: float -class Name191(Enum): +class Name546(Enum): symmetry = "symmetry" -class SymmetrySchema17(BaseModel): +class SymmetrySchema58(BaseModel): pointGroupSymbol: Optional[str] = None """ point group symbol in Schoenflies notation @@ -788,18 +808,18 @@ class SymmetrySchema17(BaseModel): """ space group symbol in Hermann–Mauguin notation """ - tolerance: Optional[ScalarSchema19] = Field(None, title="scalar schema") + tolerance: Optional[ScalarSchema73] = Field(None, title="scalar schema") """ tolerance used for symmetry calculation """ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name192(Enum): +class Name547(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio18(BaseModel): +class ElementalRatio59(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -808,11 +828,11 @@ class ElementalRatio18(BaseModel): """ -class Name193(Enum): +class Name548(Enum): p_norm = "p-norm" -class PNorm18(BaseModel): +class PNorm58(BaseModel): name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] degree: Optional[int] = None """ @@ -821,56 +841,83 @@ class PNorm18(BaseModel): value: float -class Name194(Enum): +class Name549(Enum): inchi = "inchi" -class InChIRepresentationSchema18(BaseModel): +class InChIRepresentationSchema59(BaseModel): name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] value: str -class Name195(Enum): +class Name550(Enum): inchi_key = "inchi_key" -class InChIKeyRepresentationSchema18(BaseModel): +class InChIKeyRepresentationSchema59(BaseModel): name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] value: str -class DerivedPropertiesSchema18( +class DerivedPropertiesSchema59( RootModel[ Union[ - VolumeSchema17, - DensitySchema18, - SymmetrySchema17, - ElementalRatio18, - PNorm18, - InChIRepresentationSchema18, - InChIKeyRepresentationSchema18, + VolumeSchema58, + DensitySchema59, + SymmetrySchema58, + ElementalRatio59, + PNorm58, + InChIRepresentationSchema59, + InChIKeyRepresentationSchema59, ] ] ): root: Union[ - VolumeSchema17, - DensitySchema18, - SymmetrySchema17, - ElementalRatio18, - PNorm18, - InChIRepresentationSchema18, - InChIKeyRepresentationSchema18, + VolumeSchema58, + DensitySchema59, + SymmetrySchema58, + ElementalRatio59, + PNorm58, + InChIRepresentationSchema59, + InChIKeyRepresentationSchema59, ] = Field(..., discriminator="name") -class Name196(Enum): +class DatabaseSourceSchema58(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name551(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" -class MaterialConsistencyCheckSchema17(BaseModel): - name: Name196 +class MaterialConsistencyCheckSchema58(BaseModel): + name: Name551 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -888,7 +935,19 @@ class MaterialConsistencyCheckSchema17(BaseModel): """ -class CrystalSchema14(BaseModel): +class BoundaryConditions57(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata57(BaseModel): + boundaryConditions: Optional[BoundaryConditions57] = None + + +class CrystalSchema55(BaseModel): formula: Optional[str] = None """ reduced chemical formula @@ -897,10 +956,10 @@ class CrystalSchema14(BaseModel): """ chemical formula based on the number of atoms of each element in the supercell """ - basis: BasisSchema17 = Field(..., title="basis schema") - lattice: LatticeSchema17 = Field(..., title="lattice schema") - derivedProperties: Optional[List[DerivedPropertiesSchema18]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + basis: BasisSchema58 = Field(..., title="basis schema") + lattice: LatticeSchema57 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema59]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema58] = Field(None, title="database source schema") """ information about a database source """ @@ -920,7 +979,8 @@ class CrystalSchema14(BaseModel): """ Whether to work in the finite molecular picture (usually with atomic orbital basis) """ - consistencyChecks: Optional[List[MaterialConsistencyCheckSchema17]] = None + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema58]] = None + metadata: Optional[Metadata57] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -934,7 +994,7 @@ class CrystalSchema14(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -942,26 +1002,163 @@ class CrystalSchema14(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None -class VacuumConfigurationSchema(BaseModel): - direction: AxisEnum = Field(..., title="Axis Enum") - """ - Enum for axis types - """ - size: Optional[confloat(ge=0.0)] = 10 +class ChemicalElement(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class AtomSchema(BaseModel): + chemical_element: ChemicalElement + + +class ChemicalElement7(Enum): + X = "X" + Vac = "Vac" + + +class VacancySchema(BaseModel): + chemical_element: Optional[ChemicalElement7] = "Vac" """ - Size of the vacuum slab in angstroms + Extra elements, used for convenience purposed """ - crystal: CrystalSchema14 = Field(..., title="Crystal Schema") + + +class PointDefectSiteSchema(BaseModel): + crystal: CrystalSchema55 = Field(..., title="Crystal Schema") """ A crystal structure, referencing the base material schema """ + coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + element: Union[AtomSchema, VacancySchema] + + +class MergeMethodsEnum(Enum): + ADD = "ADD" + REPLACE = "REPLACE" + YIELD = "YIELD" -class ESSE(RootModel[Union[CrystalSchema, VacuumConfigurationSchema]]): - root: Union[CrystalSchema, VacuumConfigurationSchema] = Field(..., title="Stack Component Schema") +class InterstitialPointDefectSchema(BaseModel): + merge_components: List[Union[CrystalSchema, PointDefectSiteSchema]] = Field(..., max_length=2, min_length=2) + merge_method: Optional[MergeMethodsEnum] = Field("REPLACE", title="Merge Methods Enum") """ - A component of a stack, which can be a crystal or a vacuum + Available methods for merging components """ diff --git a/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py b/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py new file mode 100644 index 000000000..e2a4e531a --- /dev/null +++ b/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py @@ -0,0 +1,1164 @@ +# generated by datamodel-codegen: +# filename: materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value165(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value165] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name717(Enum): + density = "density" + + +class Units312(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units312] = None + value: float + + +class Units313(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units313] = None + value: float + + +class Name718(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name719(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name720(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name721(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name722(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name723(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name723 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class Value166(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value167(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema79(BaseModel): + value: Union[Value166, Value167] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema77(BaseModel): + elements: List[AtomicElementSchema79] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema77(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema77(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema77(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema77] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema77] = Field( + default_factory=lambda: LatticeUnitsSchema77.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name724(Enum): + volume = "volume" + + +class Units314(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema77(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units314] = None + value: float + + +class Name725(Enum): + density = "density" + + +class Units315(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema78(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units315] = None + value: float + + +class Units316(Enum): + angstrom = "angstrom" + + +class ScalarSchema93(BaseModel): + units: Optional[Units316] = None + value: float + + +class Name726(Enum): + symmetry = "symmetry" + + +class SymmetrySchema77(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema93] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name727(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio78(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name728(Enum): + p_norm = "p-norm" + + +class PNorm78(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name729(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema78(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name730(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema78(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema78( + RootModel[ + Union[ + VolumeSchema77, + DensitySchema78, + SymmetrySchema77, + ElementalRatio78, + PNorm78, + InChIRepresentationSchema78, + InChIKeyRepresentationSchema78, + ] + ] +): + root: Union[ + VolumeSchema77, + DensitySchema78, + SymmetrySchema77, + ElementalRatio78, + PNorm78, + InChIRepresentationSchema78, + InChIKeyRepresentationSchema78, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema77(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name731(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema77(BaseModel): + name: Name731 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions76(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata76(BaseModel): + boundaryConditions: Optional[BoundaryConditions76] = None + + +class CrystalSchema72(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema77 = Field(..., title="basis schema") + lattice: LatticeSchema77 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema78]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema77] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema77]] = None + metadata: Optional[Metadata76] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class ChemicalElement(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class AtomSchema(BaseModel): + chemical_element: ChemicalElement + + +class ChemicalElement11(Enum): + X = "X" + Vac = "Vac" + + +class VacancySchema(BaseModel): + chemical_element: Optional[ChemicalElement11] = "Vac" + """ + Extra elements, used for convenience purposed + """ + + +class PointDefectSiteSchema(BaseModel): + crystal: CrystalSchema72 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + element: Union[AtomSchema, VacancySchema] + + +class MergeMethodsEnum(Enum): + ADD = "ADD" + REPLACE = "REPLACE" + YIELD = "YIELD" + + +class SubstitutionalPointDefectSchema(BaseModel): + merge_components: List[Union[CrystalSchema, PointDefectSiteSchema]] = Field(..., max_length=2, min_length=2) + merge_method: Optional[MergeMethodsEnum] = Field("REPLACE", title="Merge Methods Enum") + """ + Available methods for merging components + """ diff --git a/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py b/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py new file mode 100644 index 000000000..2815883bc --- /dev/null +++ b/dist/py/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py @@ -0,0 +1,582 @@ +# generated by datamodel-codegen: +# filename: materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value171(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value171] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name760(Enum): + density = "density" + + +class Units328(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units328] = None + value: float + + +class Units329(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units329] = None + value: float + + +class Name761(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name762(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name763(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name764(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name765(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name766(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name766 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class ChemicalElement(Enum): + X = "X" + Vac = "Vac" + + +class VacancySchema(BaseModel): + chemical_element: Optional[ChemicalElement] = "Vac" + """ + Extra elements, used for convenience purposed + """ + + +class MergeMethodsEnum(Enum): + ADD = "ADD" + REPLACE = "REPLACE" + YIELD = "YIELD" + + +class VacancyPointDefectSchema(BaseModel): + merge_components: List[Union[CrystalSchema, VacancySchema]] = Field(..., max_length=2, min_length=2) + merge_method: Optional[MergeMethodsEnum] = Field("REPLACE", title="Merge Methods Enum") + """ + Available methods for merging components + """ diff --git a/dist/py/materials_category/pristine_structures/three_dimensional/__init__.py b/dist/py/materials_category/pristine_structures/three_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category/pristine_structures/three_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category/pristine_structures/three_dimensional/ideal_crystal.py b/dist/py/materials_category/pristine_structures/three_dimensional/ideal_crystal.py new file mode 100644 index 000000000..4d71c896a --- /dev/null +++ b/dist/py/materials_category/pristine_structures/three_dimensional/ideal_crystal.py @@ -0,0 +1,556 @@ +# generated by datamodel-codegen: +# filename: materials_category/pristine_structures/three_dimensional/ideal_crystal.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value120(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value120] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name527(Enum): + density = "density" + + +class Units236(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units236] = None + value: float + + +class Units237(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units237] = None + value: float + + +class Name528(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name529(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name530(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name531(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name532(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name533(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name533 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class IdealCrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ diff --git a/dist/py/materials_category/pristine_structures/two_dimensional/__init__.py b/dist/py/materials_category/pristine_structures/two_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category/pristine_structures/two_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_site.py b/dist/py/materials_category/pristine_structures/two_dimensional/nanoribbon.py similarity index 73% rename from src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_site.py rename to dist/py/materials_category/pristine_structures/two_dimensional/nanoribbon.py index 9853355db..f2e80975a 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_site.py +++ b/dist/py/materials_category/pristine_structures/two_dimensional/nanoribbon.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: materials_category_components/entities/auxiliary/zero_dimensional/void_site.json +# filename: materials_category/pristine_structures/two_dimensional/nanoribbon.json # version: 0.28.5 from __future__ import annotations @@ -10,6 +10,153 @@ from pydantic import BaseModel, Field, RootModel, confloat, conint, constr +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class TerminationSchema23(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + class Value(Enum): H = "H" He = "He" @@ -131,13 +278,13 @@ class Value(Enum): Og = "Og" -class Value189(Enum): +class Value129(Enum): X = "X" Vac = "Vac" class AtomicElementSchema(BaseModel): - value: Union[Value, Value189] + value: Union[Value, Value129] """ All elements, including extra elements """ @@ -285,30 +432,30 @@ class VolumeSchema(BaseModel): value: float -class Name780(Enum): +class Name573(Enum): density = "density" -class Units318(Enum): +class Units254(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units318] = None + units: Optional[Units254] = None value: float -class Units319(Enum): +class Units255(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units319] = None + units: Optional[Units255] = None value: float -class Name781(Enum): +class Name574(Enum): symmetry = "symmetry" @@ -328,7 +475,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name782(Enum): +class Name575(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +488,7 @@ class ElementalRatio(BaseModel): """ -class Name783(Enum): +class Name576(Enum): p_norm = "p-norm" @@ -354,7 +501,7 @@ class PNorm(BaseModel): value: float -class Name784(Enum): +class Name577(Enum): inchi = "inchi" @@ -363,7 +510,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name785(Enum): +class Name578(Enum): inchi_key = "inchi_key" @@ -396,12 +543,19 @@ class DerivedPropertiesSchema( ] = Field(..., discriminator="name") +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + class DatabaseSourceSchema(BaseModel): id: Union[str, float] """ ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 """ - source: str + source: Source """ Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. """ @@ -442,7 +596,7 @@ class FileSourceSchema(BaseModel): """ -class Name786(Enum): +class Name579(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -455,7 +609,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name786 + name: Name579 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -473,6 +627,25 @@ class MaterialConsistencyCheckSchema(BaseModel): """ +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + class CrystalSchema(BaseModel): formula: Optional[str] = None """ @@ -506,6 +679,7 @@ class CrystalSchema(BaseModel): Whether to work in the finite molecular picture (usually with atomic orbital basis) """ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -519,7 +693,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -527,152 +701,46 @@ class CrystalSchema(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None -class CrystalSiteSchema(BaseModel): - crystal: CrystalSchema = Field(..., title="Crystal Schema") +class CrystalLatticeLinesUniqueRepeatedSchema(BaseModel): + termination_top: TerminationSchema = Field(..., title="Termination Schema") """ - A crystal structure, referencing the base material schema + Defines a specific termination of a slab """ - coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") - - -class ChemicalElements(Enum): - H = "H" - He = "He" - Li = "Li" - Be = "Be" - B = "B" - C = "C" - N = "N" - O = "O" - F = "F" - Ne = "Ne" - Na = "Na" - Mg = "Mg" - Al = "Al" - Si = "Si" - P = "P" - S = "S" - Cl = "Cl" - Ar = "Ar" - K = "K" - Ca = "Ca" - Sc = "Sc" - Ti = "Ti" - V = "V" - Cr = "Cr" - Mn = "Mn" - Fe = "Fe" - Co = "Co" - Ni = "Ni" - Cu = "Cu" - Zn = "Zn" - Ga = "Ga" - Ge = "Ge" - As = "As" - Se = "Se" - Br = "Br" - Kr = "Kr" - Rb = "Rb" - Sr = "Sr" - Y = "Y" - Zr = "Zr" - Nb = "Nb" - Mo = "Mo" - Tc = "Tc" - Ru = "Ru" - Rh = "Rh" - Pd = "Pd" - Ag = "Ag" - Cd = "Cd" - In = "In" - Sn = "Sn" - Sb = "Sb" - Te = "Te" - I = "I" - Xe = "Xe" - Cs = "Cs" - Ba = "Ba" - La = "La" - Ce = "Ce" - Pr = "Pr" - Nd = "Nd" - Pm = "Pm" - Sm = "Sm" - Eu = "Eu" - Gd = "Gd" - Tb = "Tb" - Dy = "Dy" - Ho = "Ho" - Er = "Er" - Tm = "Tm" - Yb = "Yb" - Lu = "Lu" - Hf = "Hf" - Ta = "Ta" - W = "W" - Re = "Re" - Os = "Os" - Ir = "Ir" - Pt = "Pt" - Au = "Au" - Hg = "Hg" - Tl = "Tl" - Pb = "Pb" - Bi = "Bi" - Po = "Po" - At = "At" - Rn = "Rn" - Fr = "Fr" - Ra = "Ra" - Ac = "Ac" - Th = "Th" - Pa = "Pa" - U = "U" - Np = "Np" - Pu = "Pu" - Am = "Am" - Cm = "Cm" - Bk = "Bk" - Cf = "Cf" - Es = "Es" - Fm = "Fm" - Md = "Md" - No = "No" - Lr = "Lr" - Rf = "Rf" - Db = "Db" - Sg = "Sg" - Bh = "Bh" - Hs = "Hs" - Mt = "Mt" - Ds = "Ds" - Rg = "Rg" - Cn = "Cn" - Nh = "Nh" - Fl = "Fl" - Mc = "Mc" - Lv = "Lv" - Ts = "Ts" - Og = "Og" - - -class TerminationSchema(BaseModel): - chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( - ..., title="Chemical Elements" - ) + termination_bottom: Optional[TerminationSchema23] = Field(None, title="Termination Schema") """ - Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + Defines a specific termination of a slab """ - space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + number_of_repetitions_width: Optional[conint(ge=1)] = 1 """ - Space group symmetry designation for the termination + Number of repetitions in width direction + """ + number_of_repetitions_length: Optional[conint(ge=1)] = 1 + """ + Number of repetitions in length direction + """ + miller_indices_2d: List[int] = Field(..., max_length=2, min_length=2, title="2D Miller Indices Schema") + """ + The (u,v) Miller indices for the line direction + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class AxisEnum(Enum): + x = "x" + y = "y" + z = "z" -class Value190(Enum): +class Value130(Enum): H = "H" He = "He" Li = "Li" @@ -793,13 +861,13 @@ class Value190(Enum): Og = "Og" -class Value191(Enum): +class Value131(Enum): X = "X" Vac = "Vac" -class AtomicElementSchema91(BaseModel): - value: Union[Value190, Value191] +class AtomicElementSchema63(BaseModel): + value: Union[Value130, Value131] """ All elements, including extra elements """ @@ -809,8 +877,8 @@ class AtomicElementSchema91(BaseModel): """ -class BasisSchema89(BaseModel): - elements: List[AtomicElementSchema91] = Field(..., title="atomic elements schema") +class BasisSchema61(BaseModel): + elements: List[AtomicElementSchema63] = Field(..., title="atomic elements schema") """ atomic elements schema """ @@ -825,7 +893,7 @@ class BasisSchema89(BaseModel): """ -class LatticeVectorsSchema90(BaseModel): +class LatticeVectorsSchema61(BaseModel): a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") @@ -836,12 +904,12 @@ class LatticeVectorsSchema90(BaseModel): units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") -class LatticeUnitsSchema90(BaseModel): +class LatticeUnitsSchema61(BaseModel): length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") -class LatticeSchema89(BaseModel): +class LatticeSchema61(BaseModel): a: float """ length of the first lattice vector @@ -866,56 +934,56 @@ class LatticeSchema89(BaseModel): """ angle between first and third lattice vector """ - vectors: Optional[LatticeVectorsSchema90] = Field(None, title="lattice vectors schema") + vectors: Optional[LatticeVectorsSchema61] = Field(None, title="lattice vectors schema") type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") - units: Optional[LatticeUnitsSchema90] = Field( - default_factory=lambda: LatticeUnitsSchema90.model_validate({"length": "angstrom", "angle": "degree"}), + units: Optional[LatticeUnitsSchema61] = Field( + default_factory=lambda: LatticeUnitsSchema61.model_validate({"length": "angstrom", "angle": "degree"}), title="Lattice units schema", ) -class Name787(Enum): +class Name580(Enum): volume = "volume" -class Units320(Enum): +class Units256(Enum): angstrom_3 = "angstrom^3" -class VolumeSchema89(BaseModel): +class VolumeSchema61(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units320] = None + units: Optional[Units256] = None value: float -class Name788(Enum): +class Name581(Enum): density = "density" -class Units321(Enum): +class Units257(Enum): g_cm_3 = "g/cm^3" -class DensitySchema90(BaseModel): +class DensitySchema62(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units321] = None + units: Optional[Units257] = None value: float -class Units322(Enum): +class Units258(Enum): angstrom = "angstrom" -class ScalarSchema105(BaseModel): - units: Optional[Units322] = None +class ScalarSchema76(BaseModel): + units: Optional[Units258] = None value: float -class Name789(Enum): +class Name582(Enum): symmetry = "symmetry" -class SymmetrySchema90(BaseModel): +class SymmetrySchema61(BaseModel): pointGroupSymbol: Optional[str] = None """ point group symbol in Schoenflies notation @@ -924,18 +992,18 @@ class SymmetrySchema90(BaseModel): """ space group symbol in Hermann–Mauguin notation """ - tolerance: Optional[ScalarSchema105] = Field(None, title="scalar schema") + tolerance: Optional[ScalarSchema76] = Field(None, title="scalar schema") """ tolerance used for symmetry calculation """ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name790(Enum): +class Name583(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio90(BaseModel): +class ElementalRatio62(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -944,11 +1012,11 @@ class ElementalRatio90(BaseModel): """ -class Name791(Enum): +class Name584(Enum): p_norm = "p-norm" -class PNorm90(BaseModel): +class PNorm61(BaseModel): name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] degree: Optional[int] = None """ @@ -957,56 +1025,83 @@ class PNorm90(BaseModel): value: float -class Name792(Enum): +class Name585(Enum): inchi = "inchi" -class InChIRepresentationSchema90(BaseModel): +class InChIRepresentationSchema62(BaseModel): name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] value: str -class Name793(Enum): +class Name586(Enum): inchi_key = "inchi_key" -class InChIKeyRepresentationSchema90(BaseModel): +class InChIKeyRepresentationSchema62(BaseModel): name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] value: str -class DerivedPropertiesSchema90( +class DerivedPropertiesSchema62( RootModel[ Union[ - VolumeSchema89, - DensitySchema90, - SymmetrySchema90, - ElementalRatio90, - PNorm90, - InChIRepresentationSchema90, - InChIKeyRepresentationSchema90, + VolumeSchema61, + DensitySchema62, + SymmetrySchema61, + ElementalRatio62, + PNorm61, + InChIRepresentationSchema62, + InChIKeyRepresentationSchema62, ] ] ): root: Union[ - VolumeSchema89, - DensitySchema90, - SymmetrySchema90, - ElementalRatio90, - PNorm90, - InChIRepresentationSchema90, - InChIKeyRepresentationSchema90, + VolumeSchema61, + DensitySchema62, + SymmetrySchema61, + ElementalRatio62, + PNorm61, + InChIRepresentationSchema62, + InChIKeyRepresentationSchema62, ] = Field(..., discriminator="name") -class Name794(Enum): +class DatabaseSourceSchema61(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name587(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" -class MaterialConsistencyCheckSchema89(BaseModel): - name: Name794 +class MaterialConsistencyCheckSchema61(BaseModel): + name: Name587 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1024,7 +1119,19 @@ class MaterialConsistencyCheckSchema89(BaseModel): """ -class CrystalSchema86(BaseModel): +class BoundaryConditions60(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata60(BaseModel): + boundaryConditions: Optional[BoundaryConditions60] = None + + +class CrystalSchema57(BaseModel): formula: Optional[str] = None """ reduced chemical formula @@ -1033,10 +1140,10 @@ class CrystalSchema86(BaseModel): """ chemical formula based on the number of atoms of each element in the supercell """ - basis: BasisSchema89 = Field(..., title="basis schema") - lattice: LatticeSchema89 = Field(..., title="lattice schema") - derivedProperties: Optional[List[DerivedPropertiesSchema90]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + basis: BasisSchema61 = Field(..., title="basis schema") + lattice: LatticeSchema61 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema62]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema61] = Field(None, title="database source schema") """ information about a database source """ @@ -1056,7 +1163,8 @@ class CrystalSchema86(BaseModel): """ Whether to work in the finite molecular picture (usually with atomic orbital basis) """ - consistencyChecks: Optional[List[MaterialConsistencyCheckSchema89]] = None + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema61]] = None + metadata: Optional[Metadata60] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1070,7 +1178,7 @@ class CrystalSchema86(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1078,39 +1186,49 @@ class CrystalSchema86(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None -class AtomicLayersUniqueRepeatedSchema(BaseModel): - termination_top: TerminationSchema = Field(..., title="Termination Schema") +class VacuumConfigurationSchema(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") """ - Defines a specific termination of a slab + Enum for axis types """ - number_of_repetitions: conint(ge=1) + size: Optional[confloat(ge=0.0)] = 10 """ - Number of repetitions of the unique atomic layers + Size of the vacuum slab in angstroms """ - miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + crystal: CrystalSchema57 = Field(..., title="Crystal Schema") """ - Miller indices [h, k, l] defining crystallographic planes + A crystal structure, referencing the base material schema """ - crystal: CrystalSchema86 = Field(..., title="Crystal Schema") + + +class ObjectWithIdAndValueSchema(BaseModel): + value: float """ - A crystal structure, referencing the base material schema + value of this entry """ - use_conventional_cell: Optional[bool] = True + id: int """ - Use the conventional cell for the crystal structure + integer id of this entry """ -class AxisEnum(Enum): - x = "x" - y = "y" - z = "z" +class NanoTapeConfigurationSchema(BaseModel): + stack_components: List[Union[CrystalLatticeLinesUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("y", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ -class Value192(Enum): +class Value132(Enum): H = "H" He = "He" Li = "Li" @@ -1231,13 +1349,13 @@ class Value192(Enum): Og = "Og" -class Value193(Enum): +class Value133(Enum): X = "X" Vac = "Vac" -class AtomicElementSchema92(BaseModel): - value: Union[Value192, Value193] +class AtomicElementSchema64(BaseModel): + value: Union[Value132, Value133] """ All elements, including extra elements """ @@ -1247,8 +1365,8 @@ class AtomicElementSchema92(BaseModel): """ -class BasisSchema90(BaseModel): - elements: List[AtomicElementSchema92] = Field(..., title="atomic elements schema") +class BasisSchema62(BaseModel): + elements: List[AtomicElementSchema64] = Field(..., title="atomic elements schema") """ atomic elements schema """ @@ -1263,7 +1381,7 @@ class BasisSchema90(BaseModel): """ -class LatticeVectorsSchema91(BaseModel): +class LatticeVectorsSchema62(BaseModel): a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") @@ -1274,12 +1392,12 @@ class LatticeVectorsSchema91(BaseModel): units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") -class LatticeUnitsSchema91(BaseModel): +class LatticeUnitsSchema62(BaseModel): length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") -class LatticeSchema90(BaseModel): +class LatticeSchema62(BaseModel): a: float """ length of the first lattice vector @@ -1304,56 +1422,56 @@ class LatticeSchema90(BaseModel): """ angle between first and third lattice vector """ - vectors: Optional[LatticeVectorsSchema91] = Field(None, title="lattice vectors schema") + vectors: Optional[LatticeVectorsSchema62] = Field(None, title="lattice vectors schema") type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") - units: Optional[LatticeUnitsSchema91] = Field( - default_factory=lambda: LatticeUnitsSchema91.model_validate({"length": "angstrom", "angle": "degree"}), + units: Optional[LatticeUnitsSchema62] = Field( + default_factory=lambda: LatticeUnitsSchema62.model_validate({"length": "angstrom", "angle": "degree"}), title="Lattice units schema", ) -class Name795(Enum): +class Name588(Enum): volume = "volume" -class Units323(Enum): +class Units259(Enum): angstrom_3 = "angstrom^3" -class VolumeSchema90(BaseModel): +class VolumeSchema62(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units323] = None + units: Optional[Units259] = None value: float -class Name796(Enum): +class Name589(Enum): density = "density" -class Units324(Enum): +class Units260(Enum): g_cm_3 = "g/cm^3" -class DensitySchema91(BaseModel): +class DensitySchema63(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units324] = None + units: Optional[Units260] = None value: float -class Units325(Enum): +class Units261(Enum): angstrom = "angstrom" -class ScalarSchema106(BaseModel): - units: Optional[Units325] = None +class ScalarSchema77(BaseModel): + units: Optional[Units261] = None value: float -class Name797(Enum): +class Name590(Enum): symmetry = "symmetry" -class SymmetrySchema91(BaseModel): +class SymmetrySchema62(BaseModel): pointGroupSymbol: Optional[str] = None """ point group symbol in Schoenflies notation @@ -1362,18 +1480,18 @@ class SymmetrySchema91(BaseModel): """ space group symbol in Hermann–Mauguin notation """ - tolerance: Optional[ScalarSchema106] = Field(None, title="scalar schema") + tolerance: Optional[ScalarSchema77] = Field(None, title="scalar schema") """ tolerance used for symmetry calculation """ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name798(Enum): +class Name591(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio91(BaseModel): +class ElementalRatio63(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -1382,11 +1500,11 @@ class ElementalRatio91(BaseModel): """ -class Name799(Enum): +class Name592(Enum): p_norm = "p-norm" -class PNorm91(BaseModel): +class PNorm62(BaseModel): name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] degree: Optional[int] = None """ @@ -1395,56 +1513,83 @@ class PNorm91(BaseModel): value: float -class Name800(Enum): +class Name593(Enum): inchi = "inchi" -class InChIRepresentationSchema91(BaseModel): +class InChIRepresentationSchema63(BaseModel): name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] value: str -class Name801(Enum): +class Name594(Enum): inchi_key = "inchi_key" -class InChIKeyRepresentationSchema91(BaseModel): +class InChIKeyRepresentationSchema63(BaseModel): name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] value: str -class DerivedPropertiesSchema91( +class DerivedPropertiesSchema63( RootModel[ Union[ - VolumeSchema90, - DensitySchema91, - SymmetrySchema91, - ElementalRatio91, - PNorm91, - InChIRepresentationSchema91, - InChIKeyRepresentationSchema91, + VolumeSchema62, + DensitySchema63, + SymmetrySchema62, + ElementalRatio63, + PNorm62, + InChIRepresentationSchema63, + InChIKeyRepresentationSchema63, ] ] ): root: Union[ - VolumeSchema90, - DensitySchema91, - SymmetrySchema91, - ElementalRatio91, - PNorm91, - InChIRepresentationSchema91, - InChIKeyRepresentationSchema91, + VolumeSchema62, + DensitySchema63, + SymmetrySchema62, + ElementalRatio63, + PNorm62, + InChIRepresentationSchema63, + InChIKeyRepresentationSchema63, ] = Field(..., discriminator="name") -class Name802(Enum): +class DatabaseSourceSchema62(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name595(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" -class MaterialConsistencyCheckSchema90(BaseModel): - name: Name802 +class MaterialConsistencyCheckSchema62(BaseModel): + name: Name595 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1462,7 +1607,19 @@ class MaterialConsistencyCheckSchema90(BaseModel): """ -class CrystalSchema87(BaseModel): +class BoundaryConditions61(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata61(BaseModel): + boundaryConditions: Optional[BoundaryConditions61] = None + + +class CrystalSchema58(BaseModel): formula: Optional[str] = None """ reduced chemical formula @@ -1471,10 +1628,10 @@ class CrystalSchema87(BaseModel): """ chemical formula based on the number of atoms of each element in the supercell """ - basis: BasisSchema90 = Field(..., title="basis schema") - lattice: LatticeSchema90 = Field(..., title="lattice schema") - derivedProperties: Optional[List[DerivedPropertiesSchema91]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + basis: BasisSchema62 = Field(..., title="basis schema") + lattice: LatticeSchema62 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema63]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema62] = Field(None, title="database source schema") """ information about a database source """ @@ -1494,7 +1651,8 @@ class CrystalSchema87(BaseModel): """ Whether to work in the finite molecular picture (usually with atomic orbital basis) """ - consistencyChecks: Optional[List[MaterialConsistencyCheckSchema90]] = None + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema62]] = None + metadata: Optional[Metadata61] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1508,7 +1666,7 @@ class CrystalSchema87(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1516,10 +1674,9 @@ class CrystalSchema87(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None -class VacuumConfigurationSchema(BaseModel): +class VacuumConfigurationSchema24(BaseModel): direction: AxisEnum = Field(..., title="Axis Enum") """ Enum for axis types @@ -1528,49 +1685,21 @@ class VacuumConfigurationSchema(BaseModel): """ Size of the vacuum slab in angstroms """ - crystal: CrystalSchema87 = Field(..., title="Crystal Schema") + crystal: CrystalSchema58 = Field(..., title="Crystal Schema") """ A crystal structure, referencing the base material schema """ -class SlabConfigurationSchema(BaseModel): - stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( +class NanoribbonConfigurationSchema(BaseModel): + stack_components: List[Union[NanoTapeConfigurationSchema, VacuumConfigurationSchema24]] = Field( ..., max_length=2, min_length=2 ) - direction: Optional[AxisEnum] = Field("z", title="Axis Enum") + direction: Optional[AxisEnum] = Field("x", title="Axis Enum") """ Enum for axis types """ - - -class MergeMethodsEnum(Enum): - ADD = "ADD" - REPLACE = "REPLACE" - YIELD = "YIELD" - - -class CoordinateShapeEnum(Enum): - cylinder = "cylinder" - sphere = "sphere" - box = "box" - triangular_prism = "triangular_prism" - plane = "plane" - - -class BoxCoordinateConditionSchema(BaseModel): - shape: Literal["box"] = Field(..., title="Coordinate Shape Enum") - min_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") - max_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") - - -class VoidSiteSchema(BaseModel): - merge_components: List[Union[CrystalSiteSchema, SlabConfigurationSchema]] = Field(..., max_length=3, min_length=3) - merge_method: Literal["REPLACE"] = Field(..., title="Merge Methods Enum") - """ - Method to merge components: subtract atoms that don't meet the coordinate condition - """ - coordinate_condition: Optional[BoxCoordinateConditionSchema] = Field(None, title="Coordinate Conditions Schema") + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None """ - Combined schema for all coordinate condition types + Gap distances between stack components as array of objects with id and value """ diff --git a/dist/py/materials_category/pristine_structures/two_dimensional/nanotape.py b/dist/py/materials_category/pristine_structures/two_dimensional/nanotape.py new file mode 100644 index 000000000..0950a671e --- /dev/null +++ b/dist/py/materials_category/pristine_structures/two_dimensional/nanotape.py @@ -0,0 +1,1228 @@ +# generated by datamodel-codegen: +# filename: materials_category/pristine_structures/two_dimensional/nanotape.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class TerminationSchema25(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value135(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value135] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name597(Enum): + density = "density" + + +class Units263(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units263] = None + value: float + + +class Units264(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units264] = None + value: float + + +class Name598(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name599(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name600(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name601(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name602(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name603(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name603 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class CrystalLatticeLinesUniqueRepeatedSchema(BaseModel): + termination_top: TerminationSchema = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + termination_bottom: Optional[TerminationSchema25] = Field(None, title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions_width: Optional[conint(ge=1)] = 1 + """ + Number of repetitions in width direction + """ + number_of_repetitions_length: Optional[conint(ge=1)] = 1 + """ + Number of repetitions in length direction + """ + miller_indices_2d: List[int] = Field(..., max_length=2, min_length=2, title="2D Miller Indices Schema") + """ + The (u,v) Miller indices for the line direction + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ + + +class AxisEnum(Enum): + x = "x" + y = "y" + z = "z" + + +class Value136(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value137(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema66(BaseModel): + value: Union[Value136, Value137] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema64(BaseModel): + elements: List[AtomicElementSchema66] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema64(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema64(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema64(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema64] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema64] = Field( + default_factory=lambda: LatticeUnitsSchema64.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name604(Enum): + volume = "volume" + + +class Units265(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema64(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units265] = None + value: float + + +class Name605(Enum): + density = "density" + + +class Units266(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema65(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units266] = None + value: float + + +class Units267(Enum): + angstrom = "angstrom" + + +class ScalarSchema79(BaseModel): + units: Optional[Units267] = None + value: float + + +class Name606(Enum): + symmetry = "symmetry" + + +class SymmetrySchema64(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema79] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name607(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio65(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name608(Enum): + p_norm = "p-norm" + + +class PNorm64(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name609(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema65(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name610(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema65(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema65( + RootModel[ + Union[ + VolumeSchema64, + DensitySchema65, + SymmetrySchema64, + ElementalRatio65, + PNorm64, + InChIRepresentationSchema65, + InChIKeyRepresentationSchema65, + ] + ] +): + root: Union[ + VolumeSchema64, + DensitySchema65, + SymmetrySchema64, + ElementalRatio65, + PNorm64, + InChIRepresentationSchema65, + InChIKeyRepresentationSchema65, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema64(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name611(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema64(BaseModel): + name: Name611 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions63(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata63(BaseModel): + boundaryConditions: Optional[BoundaryConditions63] = None + + +class CrystalSchema60(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema64 = Field(..., title="basis schema") + lattice: LatticeSchema64 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema65]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema64] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema64]] = None + metadata: Optional[Metadata63] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema60 = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + + +class ObjectWithIdAndValueSchema(BaseModel): + value: float + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class NanoTapeConfigurationSchema(BaseModel): + stack_components: List[Union[CrystalLatticeLinesUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( + ..., max_length=2, min_length=2 + ) + direction: Optional[AxisEnum] = Field("y", title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py b/dist/py/materials_category/pristine_structures/two_dimensional/slab.py similarity index 81% rename from src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py rename to dist/py/materials_category/pristine_structures/two_dimensional/slab.py index 1ad34ea2c..0a9141ff9 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +++ b/dist/py/materials_category/pristine_structures/two_dimensional/slab.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.json +# filename: materials_category/pristine_structures/two_dimensional/slab.json # version: 0.28.5 from __future__ import annotations @@ -265,13 +265,13 @@ class Value(Enum): Og = "Og" -class Value71(Enum): +class Value147(Enum): X = "X" Vac = "Vac" class AtomicElementSchema(BaseModel): - value: Union[Value, Value71] + value: Union[Value, Value147] """ All elements, including extra elements """ @@ -419,30 +419,30 @@ class VolumeSchema(BaseModel): value: float -class Name285(Enum): +class Name643(Enum): density = "density" -class Units129(Enum): +class Units284(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units129] = None + units: Optional[Units284] = None value: float -class Units130(Enum): +class Units285(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units130] = None + units: Optional[Units285] = None value: float -class Name286(Enum): +class Name644(Enum): symmetry = "symmetry" @@ -462,7 +462,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name287(Enum): +class Name645(Enum): elemental_ratio = "elemental_ratio" @@ -475,7 +475,7 @@ class ElementalRatio(BaseModel): """ -class Name288(Enum): +class Name646(Enum): p_norm = "p-norm" @@ -488,7 +488,7 @@ class PNorm(BaseModel): value: float -class Name289(Enum): +class Name647(Enum): inchi = "inchi" @@ -497,7 +497,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name290(Enum): +class Name648(Enum): inchi_key = "inchi_key" @@ -530,12 +530,19 @@ class DerivedPropertiesSchema( ] = Field(..., discriminator="name") +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + class DatabaseSourceSchema(BaseModel): id: Union[str, float] """ ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 """ - source: str + source: Source """ Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. """ @@ -576,7 +583,7 @@ class FileSourceSchema(BaseModel): """ -class Name291(Enum): +class Name649(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -589,7 +596,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name291 + name: Name649 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -607,6 +614,25 @@ class MaterialConsistencyCheckSchema(BaseModel): """ +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + class CrystalSchema(BaseModel): formula: Optional[str] = None """ @@ -640,6 +666,7 @@ class CrystalSchema(BaseModel): Whether to work in the finite molecular picture (usually with atomic orbital basis) """ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -653,7 +680,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -661,7 +688,6 @@ class CrystalSchema(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None class AtomicLayersUniqueRepeatedSchema(BaseModel): @@ -673,14 +699,14 @@ class AtomicLayersUniqueRepeatedSchema(BaseModel): """ Number of repetitions of the unique atomic layers """ - crystal: CrystalSchema = Field(..., title="Crystal Schema") - """ - A crystal structure, referencing the base material schema - """ miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") """ Miller indices [h, k, l] defining crystallographic planes """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ use_conventional_cell: Optional[bool] = True """ Use the conventional cell for the crystal structure @@ -693,7 +719,7 @@ class AxisEnum(Enum): z = "z" -class Value72(Enum): +class Value148(Enum): H = "H" He = "He" Li = "Li" @@ -814,13 +840,13 @@ class Value72(Enum): Og = "Og" -class Value73(Enum): +class Value149(Enum): X = "X" Vac = "Vac" -class AtomicElementSchema32(BaseModel): - value: Union[Value72, Value73] +class AtomicElementSchema70(BaseModel): + value: Union[Value148, Value149] """ All elements, including extra elements """ @@ -830,8 +856,8 @@ class AtomicElementSchema32(BaseModel): """ -class BasisSchema30(BaseModel): - elements: List[AtomicElementSchema32] = Field(..., title="atomic elements schema") +class BasisSchema68(BaseModel): + elements: List[AtomicElementSchema70] = Field(..., title="atomic elements schema") """ atomic elements schema """ @@ -846,7 +872,7 @@ class BasisSchema30(BaseModel): """ -class LatticeVectorsSchema30(BaseModel): +class LatticeVectorsSchema68(BaseModel): a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") @@ -857,12 +883,12 @@ class LatticeVectorsSchema30(BaseModel): units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") -class LatticeUnitsSchema31(BaseModel): +class LatticeUnitsSchema68(BaseModel): length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") -class LatticeSchema30(BaseModel): +class LatticeSchema68(BaseModel): a: float """ length of the first lattice vector @@ -887,56 +913,56 @@ class LatticeSchema30(BaseModel): """ angle between first and third lattice vector """ - vectors: Optional[LatticeVectorsSchema30] = Field(None, title="lattice vectors schema") + vectors: Optional[LatticeVectorsSchema68] = Field(None, title="lattice vectors schema") type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") - units: Optional[LatticeUnitsSchema31] = Field( - default_factory=lambda: LatticeUnitsSchema31.model_validate({"length": "angstrom", "angle": "degree"}), + units: Optional[LatticeUnitsSchema68] = Field( + default_factory=lambda: LatticeUnitsSchema68.model_validate({"length": "angstrom", "angle": "degree"}), title="Lattice units schema", ) -class Name292(Enum): +class Name650(Enum): volume = "volume" -class Units131(Enum): +class Units286(Enum): angstrom_3 = "angstrom^3" -class VolumeSchema30(BaseModel): +class VolumeSchema68(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units131] = None + units: Optional[Units286] = None value: float -class Name293(Enum): +class Name651(Enum): density = "density" -class Units132(Enum): +class Units287(Enum): g_cm_3 = "g/cm^3" -class DensitySchema31(BaseModel): +class DensitySchema69(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units132] = None + units: Optional[Units287] = None value: float -class Units133(Enum): +class Units288(Enum): angstrom = "angstrom" -class ScalarSchema32(BaseModel): - units: Optional[Units133] = None +class ScalarSchema84(BaseModel): + units: Optional[Units288] = None value: float -class Name294(Enum): +class Name652(Enum): symmetry = "symmetry" -class SymmetrySchema30(BaseModel): +class SymmetrySchema68(BaseModel): pointGroupSymbol: Optional[str] = None """ point group symbol in Schoenflies notation @@ -945,18 +971,18 @@ class SymmetrySchema30(BaseModel): """ space group symbol in Hermann–Mauguin notation """ - tolerance: Optional[ScalarSchema32] = Field(None, title="scalar schema") + tolerance: Optional[ScalarSchema84] = Field(None, title="scalar schema") """ tolerance used for symmetry calculation """ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name295(Enum): +class Name653(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio31(BaseModel): +class ElementalRatio69(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -965,11 +991,11 @@ class ElementalRatio31(BaseModel): """ -class Name296(Enum): +class Name654(Enum): p_norm = "p-norm" -class PNorm31(BaseModel): +class PNorm69(BaseModel): name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] degree: Optional[int] = None """ @@ -978,56 +1004,83 @@ class PNorm31(BaseModel): value: float -class Name297(Enum): +class Name655(Enum): inchi = "inchi" -class InChIRepresentationSchema31(BaseModel): +class InChIRepresentationSchema69(BaseModel): name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] value: str -class Name298(Enum): +class Name656(Enum): inchi_key = "inchi_key" -class InChIKeyRepresentationSchema31(BaseModel): +class InChIKeyRepresentationSchema69(BaseModel): name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] value: str -class DerivedPropertiesSchema31( +class DerivedPropertiesSchema69( RootModel[ Union[ - VolumeSchema30, - DensitySchema31, - SymmetrySchema30, - ElementalRatio31, - PNorm31, - InChIRepresentationSchema31, - InChIKeyRepresentationSchema31, + VolumeSchema68, + DensitySchema69, + SymmetrySchema68, + ElementalRatio69, + PNorm69, + InChIRepresentationSchema69, + InChIKeyRepresentationSchema69, ] ] ): root: Union[ - VolumeSchema30, - DensitySchema31, - SymmetrySchema30, - ElementalRatio31, - PNorm31, - InChIRepresentationSchema31, - InChIKeyRepresentationSchema31, + VolumeSchema68, + DensitySchema69, + SymmetrySchema68, + ElementalRatio69, + PNorm69, + InChIRepresentationSchema69, + InChIKeyRepresentationSchema69, ] = Field(..., discriminator="name") -class Name299(Enum): +class DatabaseSourceSchema68(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name657(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" -class MaterialConsistencyCheckSchema30(BaseModel): - name: Name299 +class MaterialConsistencyCheckSchema68(BaseModel): + name: Name657 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1045,7 +1098,19 @@ class MaterialConsistencyCheckSchema30(BaseModel): """ -class CrystalSchema27(BaseModel): +class BoundaryConditions67(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata67(BaseModel): + boundaryConditions: Optional[BoundaryConditions67] = None + + +class CrystalSchema63(BaseModel): formula: Optional[str] = None """ reduced chemical formula @@ -1054,10 +1119,10 @@ class CrystalSchema27(BaseModel): """ chemical formula based on the number of atoms of each element in the supercell """ - basis: BasisSchema30 = Field(..., title="basis schema") - lattice: LatticeSchema30 = Field(..., title="lattice schema") - derivedProperties: Optional[List[DerivedPropertiesSchema31]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + basis: BasisSchema68 = Field(..., title="basis schema") + lattice: LatticeSchema68 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema69]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema68] = Field(None, title="database source schema") """ information about a database source """ @@ -1077,7 +1142,8 @@ class CrystalSchema27(BaseModel): """ Whether to work in the finite molecular picture (usually with atomic orbital basis) """ - consistencyChecks: Optional[List[MaterialConsistencyCheckSchema30]] = None + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema68]] = None + metadata: Optional[Metadata67] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1091,7 +1157,7 @@ class CrystalSchema27(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1099,7 +1165,6 @@ class CrystalSchema27(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None class VacuumConfigurationSchema(BaseModel): @@ -1111,13 +1176,24 @@ class VacuumConfigurationSchema(BaseModel): """ Size of the vacuum slab in angstroms """ - crystal: CrystalSchema27 = Field(..., title="Crystal Schema") + crystal: CrystalSchema63 = Field(..., title="Crystal Schema") """ A crystal structure, referencing the base material schema """ -class SlabUnitCellSchema(BaseModel): +class ObjectWithIdAndValueSchema(BaseModel): + value: float + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class SlabConfigurationSchema(BaseModel): stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( ..., max_length=2, min_length=2 ) @@ -1125,3 +1201,7 @@ class SlabUnitCellSchema(BaseModel): """ Enum for axis types """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py b/dist/py/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py similarity index 82% rename from src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py rename to dist/py/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py index f38171a32..d87fd33c2 100644 --- a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py +++ b/dist/py/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.json +# filename: materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json # version: 0.28.5 from __future__ import annotations @@ -273,13 +273,13 @@ class Value(Enum): Og = "Og" -class Value185(Enum): +class Value157(Enum): X = "X" Vac = "Vac" class AtomicElementSchema(BaseModel): - value: Union[Value, Value185] + value: Union[Value, Value157] """ All elements, including extra elements """ @@ -427,30 +427,30 @@ class VolumeSchema(BaseModel): value: float -class Name794(Enum): +class Name683(Enum): density = "density" -class Units347(Enum): +class Units299(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units347] = None + units: Optional[Units299] = None value: float -class Units348(Enum): +class Units300(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units348] = None + units: Optional[Units300] = None value: float -class Name795(Enum): +class Name684(Enum): symmetry = "symmetry" @@ -470,7 +470,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name796(Enum): +class Name685(Enum): elemental_ratio = "elemental_ratio" @@ -483,7 +483,7 @@ class ElementalRatio(BaseModel): """ -class Name797(Enum): +class Name686(Enum): p_norm = "p-norm" @@ -496,7 +496,7 @@ class PNorm(BaseModel): value: float -class Name798(Enum): +class Name687(Enum): inchi = "inchi" @@ -505,7 +505,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name799(Enum): +class Name688(Enum): inchi_key = "inchi_key" @@ -538,12 +538,19 @@ class DerivedPropertiesSchema( ] = Field(..., discriminator="name") +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + class DatabaseSourceSchema(BaseModel): id: Union[str, float] """ ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 """ - source: str + source: Source """ Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. """ @@ -584,7 +591,7 @@ class FileSourceSchema(BaseModel): """ -class Name800(Enum): +class Name689(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -597,7 +604,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name800 + name: Name689 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -615,6 +622,25 @@ class MaterialConsistencyCheckSchema(BaseModel): """ +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + class CrystalSchema(BaseModel): formula: Optional[str] = None """ @@ -648,6 +674,7 @@ class CrystalSchema(BaseModel): Whether to work in the finite molecular picture (usually with atomic orbital basis) """ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -661,7 +688,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -669,7 +696,6 @@ class CrystalSchema(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None class AtomicLayersUniqueRepeatedSchema(BaseModel): @@ -701,7 +727,7 @@ class AxisEnum(Enum): z = "z" -class Value186(Enum): +class Value158(Enum): H = "H" He = "He" Li = "Li" @@ -822,13 +848,13 @@ class Value186(Enum): Og = "Og" -class Value187(Enum): +class Value159(Enum): X = "X" Vac = "Vac" -class AtomicElementSchema89(BaseModel): - value: Union[Value186, Value187] +class AtomicElementSchema75(BaseModel): + value: Union[Value158, Value159] """ All elements, including extra elements """ @@ -838,8 +864,8 @@ class AtomicElementSchema89(BaseModel): """ -class BasisSchema87(BaseModel): - elements: List[AtomicElementSchema89] = Field(..., title="atomic elements schema") +class BasisSchema73(BaseModel): + elements: List[AtomicElementSchema75] = Field(..., title="atomic elements schema") """ atomic elements schema """ @@ -854,7 +880,7 @@ class BasisSchema87(BaseModel): """ -class LatticeVectorsSchema87(BaseModel): +class LatticeVectorsSchema73(BaseModel): a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") @@ -865,12 +891,12 @@ class LatticeVectorsSchema87(BaseModel): units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") -class LatticeUnitsSchema88(BaseModel): +class LatticeUnitsSchema73(BaseModel): length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") -class LatticeSchema87(BaseModel): +class LatticeSchema73(BaseModel): a: float """ length of the first lattice vector @@ -895,56 +921,56 @@ class LatticeSchema87(BaseModel): """ angle between first and third lattice vector """ - vectors: Optional[LatticeVectorsSchema87] = Field(None, title="lattice vectors schema") + vectors: Optional[LatticeVectorsSchema73] = Field(None, title="lattice vectors schema") type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") - units: Optional[LatticeUnitsSchema88] = Field( - default_factory=lambda: LatticeUnitsSchema88.model_validate({"length": "angstrom", "angle": "degree"}), + units: Optional[LatticeUnitsSchema73] = Field( + default_factory=lambda: LatticeUnitsSchema73.model_validate({"length": "angstrom", "angle": "degree"}), title="Lattice units schema", ) -class Name801(Enum): +class Name690(Enum): volume = "volume" -class Units349(Enum): +class Units301(Enum): angstrom_3 = "angstrom^3" -class VolumeSchema87(BaseModel): +class VolumeSchema73(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units349] = None + units: Optional[Units301] = None value: float -class Name802(Enum): +class Name691(Enum): density = "density" -class Units350(Enum): +class Units302(Enum): g_cm_3 = "g/cm^3" -class DensitySchema88(BaseModel): +class DensitySchema74(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units350] = None + units: Optional[Units302] = None value: float -class Units351(Enum): +class Units303(Enum): angstrom = "angstrom" -class ScalarSchema102(BaseModel): - units: Optional[Units351] = None +class ScalarSchema89(BaseModel): + units: Optional[Units303] = None value: float -class Name803(Enum): +class Name692(Enum): symmetry = "symmetry" -class SymmetrySchema87(BaseModel): +class SymmetrySchema73(BaseModel): pointGroupSymbol: Optional[str] = None """ point group symbol in Schoenflies notation @@ -953,18 +979,18 @@ class SymmetrySchema87(BaseModel): """ space group symbol in Hermann–Mauguin notation """ - tolerance: Optional[ScalarSchema102] = Field(None, title="scalar schema") + tolerance: Optional[ScalarSchema89] = Field(None, title="scalar schema") """ tolerance used for symmetry calculation """ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name804(Enum): +class Name693(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio88(BaseModel): +class ElementalRatio74(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -973,11 +999,11 @@ class ElementalRatio88(BaseModel): """ -class Name805(Enum): +class Name694(Enum): p_norm = "p-norm" -class PNorm88(BaseModel): +class PNorm74(BaseModel): name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] degree: Optional[int] = None """ @@ -986,56 +1012,83 @@ class PNorm88(BaseModel): value: float -class Name806(Enum): +class Name695(Enum): inchi = "inchi" -class InChIRepresentationSchema88(BaseModel): +class InChIRepresentationSchema74(BaseModel): name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] value: str -class Name807(Enum): +class Name696(Enum): inchi_key = "inchi_key" -class InChIKeyRepresentationSchema88(BaseModel): +class InChIKeyRepresentationSchema74(BaseModel): name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] value: str -class DerivedPropertiesSchema88( +class DerivedPropertiesSchema74( RootModel[ Union[ - VolumeSchema87, - DensitySchema88, - SymmetrySchema87, - ElementalRatio88, - PNorm88, - InChIRepresentationSchema88, - InChIKeyRepresentationSchema88, + VolumeSchema73, + DensitySchema74, + SymmetrySchema73, + ElementalRatio74, + PNorm74, + InChIRepresentationSchema74, + InChIKeyRepresentationSchema74, ] ] ): root: Union[ - VolumeSchema87, - DensitySchema88, - SymmetrySchema87, - ElementalRatio88, - PNorm88, - InChIRepresentationSchema88, - InChIKeyRepresentationSchema88, + VolumeSchema73, + DensitySchema74, + SymmetrySchema73, + ElementalRatio74, + PNorm74, + InChIRepresentationSchema74, + InChIKeyRepresentationSchema74, ] = Field(..., discriminator="name") -class Name808(Enum): +class DatabaseSourceSchema73(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name697(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" -class MaterialConsistencyCheckSchema87(BaseModel): - name: Name808 +class MaterialConsistencyCheckSchema73(BaseModel): + name: Name697 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1053,7 +1106,19 @@ class MaterialConsistencyCheckSchema87(BaseModel): """ -class CrystalSchema82(BaseModel): +class BoundaryConditions72(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata72(BaseModel): + boundaryConditions: Optional[BoundaryConditions72] = None + + +class CrystalSchema68(BaseModel): formula: Optional[str] = None """ reduced chemical formula @@ -1062,10 +1127,10 @@ class CrystalSchema82(BaseModel): """ chemical formula based on the number of atoms of each element in the supercell """ - basis: BasisSchema87 = Field(..., title="basis schema") - lattice: LatticeSchema87 = Field(..., title="lattice schema") - derivedProperties: Optional[List[DerivedPropertiesSchema88]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + basis: BasisSchema73 = Field(..., title="basis schema") + lattice: LatticeSchema73 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema74]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema73] = Field(None, title="database source schema") """ information about a database source """ @@ -1085,7 +1150,8 @@ class CrystalSchema82(BaseModel): """ Whether to work in the finite molecular picture (usually with atomic orbital basis) """ - consistencyChecks: Optional[List[MaterialConsistencyCheckSchema87]] = None + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema73]] = None + metadata: Optional[Metadata72] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1099,7 +1165,7 @@ class CrystalSchema82(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1107,7 +1173,6 @@ class CrystalSchema82(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None class VacuumConfigurationSchema(BaseModel): @@ -1119,17 +1184,24 @@ class VacuumConfigurationSchema(BaseModel): """ Size of the vacuum slab in angstroms """ - crystal: CrystalSchema82 = Field(..., title="Crystal Schema") + crystal: CrystalSchema68 = Field(..., title="Crystal Schema") """ A crystal structure, referencing the base material schema """ -class SlabStrainedSupercellWithGapConfigurationSchema(BaseModel): - gap: Optional[confloat(ge=0.0)] = None +class ObjectWithIdAndValueSchema(BaseModel): + value: float """ - If provided, the film is shifted to have it as smallest distance to the substrate + value of this entry + """ + id: int """ + integer id of this entry + """ + + +class SlabStrainedSupercellConfigurationSchema(BaseModel): xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field( default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]], max_length=2, @@ -1149,3 +1221,7 @@ class SlabStrainedSupercellWithGapConfigurationSchema(BaseModel): """ Enum for axis types """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/dist/py/materials_category/processed_structures/two_dimensional/passivation/__init__.py b/dist/py/materials_category/processed_structures/two_dimensional/passivation/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category/processed_structures/two_dimensional/passivation/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category/processed_structures/two_dimensional/passivation/configuration.py b/dist/py/materials_category/processed_structures/two_dimensional/passivation/configuration.py new file mode 100644 index 000000000..fa43f86a5 --- /dev/null +++ b/dist/py/materials_category/processed_structures/two_dimensional/passivation/configuration.py @@ -0,0 +1,1297 @@ +# generated by datamodel-codegen: +# filename: materials_category/processed_structures/two_dimensional/passivation/configuration.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value103(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value103] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name385(Enum): + density = "density" + + +class Units151(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units151] = None + value: float + + +class Units152(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units152] = None + value: float + + +class Name386(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name387(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name388(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name389(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name390(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name391(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name391 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class MaterialSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class Value104(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value105(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema51(BaseModel): + value: Union[Value104, Value105] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema49(BaseModel): + elements: List[AtomicElementSchema51] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsSchema48(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeUnitsSchema48(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema48(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema48] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema48] = Field( + default_factory=lambda: LatticeUnitsSchema48.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name392(Enum): + volume = "volume" + + +class Units153(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema48(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units153] = None + value: float + + +class Name393(Enum): + density = "density" + + +class Units154(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema48(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units154] = None + value: float + + +class Units155(Enum): + angstrom = "angstrom" + + +class ScalarSchema49(BaseModel): + units: Optional[Units155] = None + value: float + + +class Name394(Enum): + symmetry = "symmetry" + + +class SymmetrySchema48(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema49] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name395(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio48(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name396(Enum): + p_norm = "p-norm" + + +class PNorm48(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name397(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema48(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name398(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema48(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema48( + RootModel[ + Union[ + VolumeSchema48, + DensitySchema48, + SymmetrySchema48, + ElementalRatio48, + PNorm48, + InChIRepresentationSchema48, + InChIKeyRepresentationSchema48, + ] + ] +): + root: Union[ + VolumeSchema48, + DensitySchema48, + SymmetrySchema48, + ElementalRatio48, + PNorm48, + InChIRepresentationSchema48, + InChIKeyRepresentationSchema48, + ] = Field(..., discriminator="name") + + +class DatabaseSourceSchema48(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name399(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class MaterialConsistencyCheckSchema48(BaseModel): + name: Name399 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class BoundaryConditions48(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata48(BaseModel): + boundaryConditions: Optional[BoundaryConditions48] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema49 = Field(..., title="basis schema") + lattice: LatticeSchema48 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema48]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema48] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema48]] = None + metadata: Optional[Metadata48] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class ChemicalElement(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class AtomSchema(BaseModel): + chemical_element: ChemicalElement + + +class ChemicalElement4(Enum): + X = "X" + Vac = "Vac" + + +class VacancySchema(BaseModel): + chemical_element: Optional[ChemicalElement4] = "Vac" + """ + Extra elements, used for convenience purposed + """ + + +class PointDefectSiteSchema(BaseModel): + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + element: Union[AtomSchema, VacancySchema] + + +class MergeMethodsEnum(Enum): + ADD = "ADD" + REPLACE = "REPLACE" + YIELD = "YIELD" + + +class ChemicalElement5(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class AtomSchema3(BaseModel): + chemical_element: ChemicalElement5 + + +class PassivationConfigurationSchema(BaseModel): + merge_components: List[Union[MaterialSchema, PointDefectSiteSchema]] = Field(..., min_length=2) + merge_method: Optional[MergeMethodsEnum] = Field("ADD", title="Merge Methods Enum") + """ + Available methods for merging components + """ + passivant: AtomSchema3 = Field(..., title="Atom Schema") + """ + A chemical element that can be placed at a crystal site + """ + bond_length: Optional[float] = 1 + """ + The bond length for the passivating atoms + """ diff --git a/dist/py/materials_category_components/entities/auxiliary/one_dimensional/__init__.py b/dist/py/materials_category_components/entities/auxiliary/one_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/one_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.py b/dist/py/materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.py new file mode 100644 index 000000000..924d92a86 --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import Field, RootModel + + +class Field2DMillerIndicesSchema(RootModel[List[int]]): + root: List[int] = Field(..., max_length=2, min_length=2, title="2D Miller Indices Schema") + """ + The (u,v) Miller indices for the line direction + """ diff --git a/dist/py/materials_category_components/entities/auxiliary/three_dimensional/__init__.py b/dist/py/materials_category_components/entities/auxiliary/three_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/three_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/entities/auxiliary/three_dimensional/supercell_matrix_3d.py b/dist/py/materials_category_components/entities/auxiliary/three_dimensional/supercell_matrix_3d.py new file mode 100644 index 000000000..9276d869a --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/three_dimensional/supercell_matrix_3d.py @@ -0,0 +1,27 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/auxiliary/three_dimensional/supercell_matrix_3d.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import Field, RootModel + + +class ArrayOf3IntegerElementsSchema(RootModel[List[int]]): + root: List[int] = Field(..., title="array of 3 integer elements schema") + + +class SupercellMatrix3DSchema(RootModel[Optional[List[ArrayOf3IntegerElementsSchema]]]): + root: Optional[List[ArrayOf3IntegerElementsSchema]] = Field( + default_factory=lambda: [ + ArrayOf3IntegerElementsSchema.model_validate(v) for v in [[1, 0, 0], [0, 1, 0], [0, 0, 1]] + ], + max_length=3, + min_length=3, + title="Supercell Matrix 3D Schema", + ) + """ + 3x3 matrix of integers for transforming a unit cell into a supercell + """ diff --git a/dist/py/materials_category_components/entities/auxiliary/two_dimensional/__init__.py b/dist/py/materials_category_components/entities/auxiliary/two_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/two_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/entities/auxiliary/two_dimensional/miller_indices.py b/dist/py/materials_category_components/entities/auxiliary/two_dimensional/miller_indices.py new file mode 100644 index 000000000..879beec9e --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/two_dimensional/miller_indices.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/auxiliary/two_dimensional/miller_indices.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import Field, RootModel + + +class MillerIndicesSchema(RootModel[Optional[List[int]]]): + root: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ diff --git a/dist/py/materials_category_components/entities/auxiliary/two_dimensional/supercell_matrix_2d.py b/dist/py/materials_category_components/entities/auxiliary/two_dimensional/supercell_matrix_2d.py new file mode 100644 index 000000000..d5963d16e --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/two_dimensional/supercell_matrix_2d.py @@ -0,0 +1,25 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/auxiliary/two_dimensional/supercell_matrix_2d.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import Field, RootModel + + +class SupercellMatrix2DSchemaItem(RootModel[List[int]]): + root: List[int] + + +class SupercellMatrix2DSchema(RootModel[Optional[List[SupercellMatrix2DSchemaItem]]]): + root: Optional[List[SupercellMatrix2DSchemaItem]] = Field( + default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]], + max_length=2, + min_length=2, + title="Supercell Matrix 2D Schema", + ) + """ + Supercell matrix for xy plane transformations + """ diff --git a/dist/py/materials_category_components/entities/auxiliary/two_dimensional/termination.py b/dist/py/materials_category_components/entities/auxiliary/two_dimensional/termination.py new file mode 100644 index 000000000..210f953ae --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/two_dimensional/termination.py @@ -0,0 +1,144 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/auxiliary/two_dimensional/termination.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel, Field, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ diff --git a/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/__init__.py b/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py b/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py new file mode 100644 index 000000000..e3a0d9ed4 --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py @@ -0,0 +1,564 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value117(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value117] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name443(Enum): + density = "density" + + +class Units172(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units172] = None + value: float + + +class Units173(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units173] = None + value: float + + +class Name444(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name445(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name446(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name447(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name448(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name449(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name449 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class CrystalSiteSchema(BaseModel): + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") diff --git a/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py b/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py new file mode 100644 index 000000000..4a841e093 --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py @@ -0,0 +1,702 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value141(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value141] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name625(Enum): + density = "density" + + +class Units276(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units276] = None + value: float + + +class Units277(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units277] = None + value: float + + +class Name626(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name627(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name628(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name629(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name630(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name631(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name631 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class ChemicalElement(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class AtomSchema(BaseModel): + chemical_element: ChemicalElement + + +class ChemicalElement9(Enum): + X = "X" + Vac = "Vac" + + +class VacancySchema(BaseModel): + chemical_element: Optional[ChemicalElement9] = "Vac" + """ + Extra elements, used for convenience purposed + """ + + +class PointDefectSiteSchema(BaseModel): + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + element: Union[AtomSchema, VacancySchema] diff --git a/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py b/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py new file mode 100644 index 000000000..258c77e74 --- /dev/null +++ b/dist/py/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py @@ -0,0 +1,620 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/auxiliary/zero_dimensional/void_region.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value175(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value175] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name779(Enum): + density = "density" + + +class Units338(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units338] = None + value: float + + +class Units339(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units339] = None + value: float + + +class Name780(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name781(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name782(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name783(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name784(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name785(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name785 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class BoxCoordinateConditionSchema(BaseModel): + shape: Literal["box"] = Field("box", title="Coordinate Shape Enum") + min_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + max_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + + +class SphereCoordinateConditionSchema(BaseModel): + shape: Literal["sphere"] = Field("sphere", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + + +class CylinderCoordinateConditionSchema(BaseModel): + shape: Literal["cylinder"] = Field("cylinder", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + min_z: float + max_z: float + + +class TriangularPrismCoordinateConditionSchema(BaseModel): + shape: Literal["triangular_prism"] = Field("triangular_prism", title="Coordinate Shape Enum") + position_on_surface_1: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_2: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_3: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + min_z: float + max_z: float + + +class PlaneCoordinateConditionSchema(BaseModel): + shape: Literal["plane"] = Field("plane", title="Coordinate Shape Enum") + plane_normal: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + plane_point_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + + +class VoidRegionSchema(BaseModel): + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + coordinate_condition: Union[ + BoxCoordinateConditionSchema, + SphereCoordinateConditionSchema, + CylinderCoordinateConditionSchema, + TriangularPrismCoordinateConditionSchema, + PlaneCoordinateConditionSchema, + ] = Field(..., title="Coordinate Conditions Schema") + """ + Combined schema for all coordinate condition types + """ diff --git a/dist/py/materials_category_components/entities/core/three_dimensional/__init__.py b/dist/py/materials_category_components/entities/core/three_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/entities/core/three_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/entities/core/three_dimensional/crystal.py b/dist/py/materials_category_components/entities/core/three_dimensional/crystal.py new file mode 100644 index 000000000..91dbaa6c6 --- /dev/null +++ b/dist/py/materials_category_components/entities/core/three_dimensional/crystal.py @@ -0,0 +1,556 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/core/three_dimensional/crystal.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value107(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value107] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name403(Enum): + density = "density" + + +class Units157(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units157] = None + value: float + + +class Units158(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units158] = None + value: float + + +class Name404(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name405(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name406(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name407(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name408(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name409(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name409 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ diff --git a/dist/py/materials_category_components/entities/core/three_dimensional/void.py b/dist/py/materials_category_components/entities/core/three_dimensional/void.py new file mode 100644 index 000000000..59ac90ced --- /dev/null +++ b/dist/py/materials_category_components/entities/core/three_dimensional/void.py @@ -0,0 +1,71 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/core/three_dimensional/void.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Literal, Union + +from pydantic import BaseModel, Field, confloat + + +class CoordinateShapeEnum(Enum): + cylinder = "cylinder" + sphere = "sphere" + box = "box" + triangular_prism = "triangular_prism" + plane = "plane" + + +class BoxCoordinateConditionSchema(BaseModel): + shape: Literal["box"] = Field("box", title="Coordinate Shape Enum") + min_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + max_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + + +class SphereCoordinateConditionSchema(BaseModel): + shape: Literal["sphere"] = Field("sphere", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + + +class CylinderCoordinateConditionSchema(BaseModel): + shape: Literal["cylinder"] = Field("cylinder", title="Coordinate Shape Enum") + radius: confloat(ge=0.0) + min_z: float + max_z: float + + +class TriangularPrismCoordinateConditionSchema(BaseModel): + shape: Literal["triangular_prism"] = Field("triangular_prism", title="Coordinate Shape Enum") + position_on_surface_1: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_2: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + position_on_surface_3: List[float] = Field( + ..., max_length=2, min_length=2, title="array of 2 number elements schema" + ) + min_z: float + max_z: float + + +class PlaneCoordinateConditionSchema(BaseModel): + shape: Literal["plane"] = Field("plane", title="Coordinate Shape Enum") + plane_normal: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + plane_point_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + + +class VoidSchema(BaseModel): + center_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + shape: Union[ + BoxCoordinateConditionSchema, + SphereCoordinateConditionSchema, + CylinderCoordinateConditionSchema, + TriangularPrismCoordinateConditionSchema, + PlaneCoordinateConditionSchema, + ] = Field(..., title="Coordinate Conditions Schema") + """ + Combined schema for all coordinate condition types + """ diff --git a/dist/py/materials_category_components/entities/core/two_dimensional/__init__.py b/dist/py/materials_category_components/entities/core/two_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/entities/core/two_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/entities/core/two_dimensional/vacuum.py b/dist/py/materials_category_components/entities/core/two_dimensional/vacuum.py new file mode 100644 index 000000000..437ad7931 --- /dev/null +++ b/dist/py/materials_category_components/entities/core/two_dimensional/vacuum.py @@ -0,0 +1,577 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/core/two_dimensional/vacuum.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class AxisEnum(Enum): + x = "x" + y = "y" + z = "z" + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value173(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value173] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name768(Enum): + density = "density" + + +class Units331(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units331] = None + value: float + + +class Units332(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units332] = None + value: float + + +class Name769(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name770(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name771(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name772(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name773(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name774(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name774 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class VacuumConfigurationSchema(BaseModel): + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + size: Optional[confloat(ge=0.0)] = 10 + """ + Size of the vacuum slab in angstroms + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ diff --git a/dist/py/materials_category_components/entities/core/zero_dimensional/__init__.py b/dist/py/materials_category_components/entities/core/zero_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/entities/core/zero_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/entities/core/zero_dimensional/atom.py b/dist/py/materials_category_components/entities/core/zero_dimensional/atom.py new file mode 100644 index 000000000..aa82177d8 --- /dev/null +++ b/dist/py/materials_category_components/entities/core/zero_dimensional/atom.py @@ -0,0 +1,134 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/core/zero_dimensional/atom.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class ChemicalElement(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class AtomSchema(BaseModel): + chemical_element: ChemicalElement diff --git a/dist/py/materials_category_components/entities/core/zero_dimensional/vacancy.py b/dist/py/materials_category_components/entities/core/zero_dimensional/vacancy.py new file mode 100644 index 000000000..17d545a30 --- /dev/null +++ b/dist/py/materials_category_components/entities/core/zero_dimensional/vacancy.py @@ -0,0 +1,22 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/core/zero_dimensional/vacancy.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class ChemicalElement(Enum): + X = "X" + Vac = "Vac" + + +class VacancySchema(BaseModel): + chemical_element: Optional[ChemicalElement] = "Vac" + """ + Extra elements, used for convenience purposed + """ diff --git a/dist/py/materials_category_components/entities/reusable/one_dimensional/__init__.py b/dist/py/materials_category_components/entities/reusable/one_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/one_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py b/dist/py/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py new file mode 100644 index 000000000..9034d6e6e --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py @@ -0,0 +1,571 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value111(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value111] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name419(Enum): + density = "density" + + +class Units163(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units163] = None + value: float + + +class Units164(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units164] = None + value: float + + +class Name420(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name421(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name422(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name423(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name424(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name425(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name425 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class CrystalLatticeLinesSchema(BaseModel): + miller_indices_2d: List[int] = Field(..., max_length=2, min_length=2, title="2D Miller Indices Schema") + """ + The (u,v) Miller indices for the line direction + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ diff --git a/dist/py/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py b/dist/py/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py new file mode 100644 index 000000000..31abe146e --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py @@ -0,0 +1,734 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class TerminationSchema21(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value113(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value113] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name427(Enum): + density = "density" + + +class Units166(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units166] = None + value: float + + +class Units167(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units167] = None + value: float + + +class Name428(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name429(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name430(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name431(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name432(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name433(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name433 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class CrystalLatticeLinesUniqueRepeatedSchema(BaseModel): + termination_top: TerminationSchema = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + termination_bottom: Optional[TerminationSchema21] = Field(None, title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions_width: Optional[conint(ge=1)] = 1 + """ + Number of repetitions in width direction + """ + number_of_repetitions_length: Optional[conint(ge=1)] = 1 + """ + Number of repetitions in length direction + """ + miller_indices_2d: List[int] = Field(..., max_length=2, min_length=2, title="2D Miller Indices Schema") + """ + The (u,v) Miller indices for the line direction + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ diff --git a/dist/py/materials_category_components/entities/reusable/three_dimensional/__init__.py b/dist/py/materials_category_components/entities/reusable/three_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/three_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.py b/dist/py/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py similarity index 91% rename from src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.py rename to dist/py/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py index 930220d14..96b3fbaba 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.py +++ b/dist/py/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.json +# filename: materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.json # version: 0.28.5 from __future__ import annotations @@ -131,13 +131,13 @@ class Value(Enum): Og = "Og" -class Value43(Enum): +class Value109(Enum): X = "X" Vac = "Vac" class AtomicElementSchema(BaseModel): - value: Union[Value, Value43] + value: Union[Value, Value109] """ All elements, including extra elements """ @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name145(Enum): +class Name411(Enum): density = "density" -class Units61(Enum): +class Units160(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units61] = None + units: Optional[Units160] = None value: float -class Units62(Enum): +class Units161(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units62] = None + units: Optional[Units161] = None value: float -class Name146(Enum): +class Name412(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name147(Enum): +class Name413(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name148(Enum): +class Name414(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name149(Enum): +class Name415(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name150(Enum): +class Name416(Enum): inchi_key = "inchi_key" @@ -396,12 +396,19 @@ class DerivedPropertiesSchema( ] = Field(..., discriminator="name") +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + class DatabaseSourceSchema(BaseModel): id: Union[str, float] """ ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 """ - source: str + source: Source """ Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. """ @@ -442,7 +449,7 @@ class FileSourceSchema(BaseModel): """ -class Name151(Enum): +class Name417(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -455,7 +462,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name151 + name: Name417 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -473,6 +480,25 @@ class MaterialConsistencyCheckSchema(BaseModel): """ +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + class CrystalSchema(BaseModel): formula: Optional[str] = None """ @@ -506,6 +532,7 @@ class CrystalSchema(BaseModel): Whether to work in the finite molecular picture (usually with atomic orbital basis) """ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -519,7 +546,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -527,7 +554,6 @@ class CrystalSchema(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None class CrystalLatticeBaseSchema(BaseModel): diff --git a/dist/py/materials_category_components/entities/reusable/three_dimensional/repetitions.py b/dist/py/materials_category_components/entities/reusable/three_dimensional/repetitions.py new file mode 100644 index 000000000..11d62f888 --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/three_dimensional/repetitions.py @@ -0,0 +1,25 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/reusable/three_dimensional/repetitions.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import Field, RootModel, conint + + +class CrystalRepetitionsSchemaItem(RootModel[conint(ge=1)]): + root: conint(ge=1) + + +class CrystalRepetitionsSchema(RootModel[Optional[List[CrystalRepetitionsSchemaItem]]]): + root: Optional[List[CrystalRepetitionsSchemaItem]] = Field( + default_factory=lambda: [CrystalRepetitionsSchemaItem.model_validate(v) for v in [1, 1, 1]], + max_length=3, + min_length=3, + title="Crystal Repetitions Schema", + ) + """ + Number of unit cells to repeat in each direction for a crystal structure. + """ diff --git a/dist/py/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py b/dist/py/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py new file mode 100644 index 000000000..915d96ab9 --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py @@ -0,0 +1,570 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value161(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value161] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name700(Enum): + density = "density" + + +class Units305(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units305] = None + value: float + + +class Units306(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units306] = None + value: float + + +class Name701(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name702(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name703(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name704(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name705(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name706(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name706 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class NonUniformlyStrainedCrystalConfigurationSchema(BaseModel): + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + strain_matrix: List[ArrayOf3NumberElementsSchema] = Field( + ..., max_length=3, min_length=3, title="matrix 3x3 schema" + ) diff --git a/dist/py/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py b/dist/py/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py new file mode 100644 index 000000000..d40a28c51 --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py @@ -0,0 +1,567 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/reusable/three_dimensional/strained_uniform.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value163(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value163] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name708(Enum): + density = "density" + + +class Units308(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units308] = None + value: float + + +class Units309(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units309] = None + value: float + + +class Name709(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name710(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name711(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name712(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name713(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name714(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name714 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class UniformlyStrainedCrystalConfigurationSchema(BaseModel): + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + strain_percentage: float + """ + Percentage of uniform strain to apply to the crystal structure + """ diff --git a/dist/py/materials_category_components/entities/reusable/three_dimensional/supercell.py b/dist/py/materials_category_components/entities/reusable/three_dimensional/supercell.py new file mode 100644 index 000000000..66d507e78 --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/three_dimensional/supercell.py @@ -0,0 +1,568 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/reusable/three_dimensional/supercell.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value169(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value169] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name733(Enum): + density = "density" + + +class Units318(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units318] = None + value: float + + +class Units319(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units319] = None + value: float + + +class Name734(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name735(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name736(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name737(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name738(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name739(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name739 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class SupercellConfigurationSchema(BaseModel): + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + matrix: List[ArrayOf3NumberElementsSchema] = Field(..., max_length=3, min_length=3, title="matrix 3x3 schema") diff --git a/dist/py/materials_category_components/entities/reusable/two_dimensional/__init__.py b/dist/py/materials_category_components/entities/reusable/two_dimensional/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/two_dimensional/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py b/dist/py/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py new file mode 100644 index 000000000..f12e22bfa --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py @@ -0,0 +1,709 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/reusable/two_dimensional/atomic_layers.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value5(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value5] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name3(Enum): + density = "density" + + +class Units2(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units2] = None + value: float + + +class Units3(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units3] = None + value: float + + +class Name4(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name5(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name6(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name7(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name8(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name9(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name9 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersSchema(BaseModel): + terminations: List[TerminationSchema] = Field(..., min_length=1) + """ + All possible terminations for this orientation. + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ diff --git a/dist/py/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py b/dist/py/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py new file mode 100644 index 000000000..164e25e99 --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py @@ -0,0 +1,709 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value7(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value7] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name11(Enum): + density = "density" + + +class Units5(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units5] = None + value: float + + +class Units6(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units6] = None + value: float + + +class Name12(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name13(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name14(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name15(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name16(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name17(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name17 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueSchema(BaseModel): + terminations: List[TerminationSchema] = Field(..., min_length=1) + """ + All possible terminations for this orientation. + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ diff --git a/dist/py/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py b/dist/py/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py new file mode 100644 index 000000000..c34148135 --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py @@ -0,0 +1,713 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint, constr + + +class ChemicalElements(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class TerminationSchema(BaseModel): + chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field( + ..., title="Chemical Elements" + ) + """ + Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO') + """ + space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label") + """ + Space group symmetry designation for the termination + """ + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value9(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value9] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name19(Enum): + density = "density" + + +class Units8(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units8] = None + value: float + + +class Units9(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units9] = None + value: float + + +class Name20(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name21(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name22(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name23(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name24(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name25(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name25 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class AtomicLayersUniqueRepeatedSchema(BaseModel): + termination_top: TerminationSchema = Field(..., title="Termination Schema") + """ + Defines a specific termination of a slab + """ + number_of_repetitions: conint(ge=1) + """ + Number of repetitions of the unique atomic layers + """ + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ diff --git a/dist/py/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py b/dist/py/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py new file mode 100644 index 000000000..e87e6d286 --- /dev/null +++ b/dist/py/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py @@ -0,0 +1,571 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value115(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value115] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name435(Enum): + density = "density" + + +class Units169(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units169] = None + value: float + + +class Units170(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units170] = None + value: float + + +class Name436(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name437(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name438(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name439(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name440(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name441(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name441 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class CrystalSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class CrystalLatticePlanesSchema(BaseModel): + miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema") + """ + Miller indices [h, k, l] defining crystallographic planes + """ + crystal: CrystalSchema = Field(..., title="Crystal Schema") + """ + A crystal structure, referencing the base material schema + """ + use_conventional_cell: Optional[bool] = True + """ + Use the conventional cell for the crystal structure + """ diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/base_configuration.py b/dist/py/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py similarity index 76% rename from src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/base_configuration.py rename to dist/py/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py index 26fef6858..7e7859fde 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/base_configuration.py +++ b/dist/py/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: materials_category/defective_structures/two_dimensional/base_configuration.json +# filename: materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json # version: 0.28.5 from __future__ import annotations @@ -265,13 +265,13 @@ class Value(Enum): Og = "Og" -class Value15(Enum): +class Value151(Enum): X = "X" Vac = "Vac" class AtomicElementSchema(BaseModel): - value: Union[Value, Value15] + value: Union[Value, Value151] """ All elements, including extra elements """ @@ -419,30 +419,30 @@ class VolumeSchema(BaseModel): value: float -class Name39(Enum): +class Name659(Enum): density = "density" -class Units21(Enum): +class Units290(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units21] = None + units: Optional[Units290] = None value: float -class Units22(Enum): +class Units291(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units22] = None + units: Optional[Units291] = None value: float -class Name40(Enum): +class Name660(Enum): symmetry = "symmetry" @@ -462,7 +462,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name41(Enum): +class Name661(Enum): elemental_ratio = "elemental_ratio" @@ -475,7 +475,7 @@ class ElementalRatio(BaseModel): """ -class Name42(Enum): +class Name662(Enum): p_norm = "p-norm" @@ -488,7 +488,7 @@ class PNorm(BaseModel): value: float -class Name43(Enum): +class Name663(Enum): inchi = "inchi" @@ -497,7 +497,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name44(Enum): +class Name664(Enum): inchi_key = "inchi_key" @@ -530,12 +530,19 @@ class DerivedPropertiesSchema( ] = Field(..., discriminator="name") +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + class DatabaseSourceSchema(BaseModel): id: Union[str, float] """ ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 """ - source: str + source: Source """ Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. """ @@ -576,7 +583,7 @@ class FileSourceSchema(BaseModel): """ -class Name45(Enum): +class Name665(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -589,7 +596,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name45 + name: Name665 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -607,6 +614,25 @@ class MaterialConsistencyCheckSchema(BaseModel): """ +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + class CrystalSchema(BaseModel): formula: Optional[str] = None """ @@ -640,6 +666,7 @@ class CrystalSchema(BaseModel): Whether to work in the finite molecular picture (usually with atomic orbital basis) """ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -653,7 +680,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -661,7 +688,6 @@ class CrystalSchema(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None class AtomicLayersUniqueRepeatedSchema(BaseModel): @@ -693,7 +719,7 @@ class AxisEnum(Enum): z = "z" -class Value16(Enum): +class Value152(Enum): H = "H" He = "He" Li = "Li" @@ -814,13 +840,13 @@ class Value16(Enum): Og = "Og" -class Value17(Enum): +class Value153(Enum): X = "X" Vac = "Vac" -class AtomicElementSchema7(BaseModel): - value: Union[Value16, Value17] +class AtomicElementSchema72(BaseModel): + value: Union[Value152, Value153] """ All elements, including extra elements """ @@ -830,8 +856,8 @@ class AtomicElementSchema7(BaseModel): """ -class BasisSchema5(BaseModel): - elements: List[AtomicElementSchema7] = Field(..., title="atomic elements schema") +class BasisSchema70(BaseModel): + elements: List[AtomicElementSchema72] = Field(..., title="atomic elements schema") """ atomic elements schema """ @@ -846,7 +872,7 @@ class BasisSchema5(BaseModel): """ -class LatticeVectorsSchema5(BaseModel): +class LatticeVectorsSchema70(BaseModel): a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") @@ -857,12 +883,12 @@ class LatticeVectorsSchema5(BaseModel): units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") -class LatticeUnitsSchema5(BaseModel): +class LatticeUnitsSchema70(BaseModel): length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") -class LatticeSchema5(BaseModel): +class LatticeSchema70(BaseModel): a: float """ length of the first lattice vector @@ -887,56 +913,56 @@ class LatticeSchema5(BaseModel): """ angle between first and third lattice vector """ - vectors: Optional[LatticeVectorsSchema5] = Field(None, title="lattice vectors schema") + vectors: Optional[LatticeVectorsSchema70] = Field(None, title="lattice vectors schema") type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") - units: Optional[LatticeUnitsSchema5] = Field( - default_factory=lambda: LatticeUnitsSchema5.model_validate({"length": "angstrom", "angle": "degree"}), + units: Optional[LatticeUnitsSchema70] = Field( + default_factory=lambda: LatticeUnitsSchema70.model_validate({"length": "angstrom", "angle": "degree"}), title="Lattice units schema", ) -class Name46(Enum): +class Name666(Enum): volume = "volume" -class Units23(Enum): +class Units292(Enum): angstrom_3 = "angstrom^3" -class VolumeSchema5(BaseModel): +class VolumeSchema70(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units23] = None + units: Optional[Units292] = None value: float -class Name47(Enum): +class Name667(Enum): density = "density" -class Units24(Enum): +class Units293(Enum): g_cm_3 = "g/cm^3" -class DensitySchema5(BaseModel): +class DensitySchema71(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units24] = None + units: Optional[Units293] = None value: float -class Units25(Enum): +class Units294(Enum): angstrom = "angstrom" -class ScalarSchema6(BaseModel): - units: Optional[Units25] = None +class ScalarSchema86(BaseModel): + units: Optional[Units294] = None value: float -class Name48(Enum): +class Name668(Enum): symmetry = "symmetry" -class SymmetrySchema5(BaseModel): +class SymmetrySchema70(BaseModel): pointGroupSymbol: Optional[str] = None """ point group symbol in Schoenflies notation @@ -945,18 +971,18 @@ class SymmetrySchema5(BaseModel): """ space group symbol in Hermann–Mauguin notation """ - tolerance: Optional[ScalarSchema6] = Field(None, title="scalar schema") + tolerance: Optional[ScalarSchema86] = Field(None, title="scalar schema") """ tolerance used for symmetry calculation """ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name49(Enum): +class Name669(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio5(BaseModel): +class ElementalRatio71(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -965,11 +991,11 @@ class ElementalRatio5(BaseModel): """ -class Name50(Enum): +class Name670(Enum): p_norm = "p-norm" -class PNorm5(BaseModel): +class PNorm71(BaseModel): name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] degree: Optional[int] = None """ @@ -978,56 +1004,83 @@ class PNorm5(BaseModel): value: float -class Name51(Enum): +class Name671(Enum): inchi = "inchi" -class InChIRepresentationSchema5(BaseModel): +class InChIRepresentationSchema71(BaseModel): name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] value: str -class Name52(Enum): +class Name672(Enum): inchi_key = "inchi_key" -class InChIKeyRepresentationSchema5(BaseModel): +class InChIKeyRepresentationSchema71(BaseModel): name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] value: str -class DerivedPropertiesSchema5( +class DerivedPropertiesSchema71( RootModel[ Union[ - VolumeSchema5, - DensitySchema5, - SymmetrySchema5, - ElementalRatio5, - PNorm5, - InChIRepresentationSchema5, - InChIKeyRepresentationSchema5, + VolumeSchema70, + DensitySchema71, + SymmetrySchema70, + ElementalRatio71, + PNorm71, + InChIRepresentationSchema71, + InChIKeyRepresentationSchema71, ] ] ): root: Union[ - VolumeSchema5, - DensitySchema5, - SymmetrySchema5, - ElementalRatio5, - PNorm5, - InChIRepresentationSchema5, - InChIKeyRepresentationSchema5, + VolumeSchema70, + DensitySchema71, + SymmetrySchema70, + ElementalRatio71, + PNorm71, + InChIRepresentationSchema71, + InChIKeyRepresentationSchema71, ] = Field(..., discriminator="name") -class Name53(Enum): +class DatabaseSourceSchema70(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name673(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" -class MaterialConsistencyCheckSchema5(BaseModel): - name: Name53 +class MaterialConsistencyCheckSchema70(BaseModel): + name: Name673 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1045,7 +1098,19 @@ class MaterialConsistencyCheckSchema5(BaseModel): """ -class CrystalSchema5(BaseModel): +class BoundaryConditions69(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata69(BaseModel): + boundaryConditions: Optional[BoundaryConditions69] = None + + +class CrystalSchema65(BaseModel): formula: Optional[str] = None """ reduced chemical formula @@ -1054,10 +1119,10 @@ class CrystalSchema5(BaseModel): """ chemical formula based on the number of atoms of each element in the supercell """ - basis: BasisSchema5 = Field(..., title="basis schema") - lattice: LatticeSchema5 = Field(..., title="lattice schema") - derivedProperties: Optional[List[DerivedPropertiesSchema5]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + basis: BasisSchema70 = Field(..., title="basis schema") + lattice: LatticeSchema70 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema71]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema70] = Field(None, title="database source schema") """ information about a database source """ @@ -1077,7 +1142,8 @@ class CrystalSchema5(BaseModel): """ Whether to work in the finite molecular picture (usually with atomic orbital basis) """ - consistencyChecks: Optional[List[MaterialConsistencyCheckSchema5]] = None + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema70]] = None + metadata: Optional[Metadata69] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1091,7 +1157,7 @@ class CrystalSchema5(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1099,7 +1165,6 @@ class CrystalSchema5(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None class VacuumConfigurationSchema(BaseModel): @@ -1111,12 +1176,23 @@ class VacuumConfigurationSchema(BaseModel): """ Size of the vacuum slab in angstroms """ - crystal: CrystalSchema5 = Field(..., title="Crystal Schema") + crystal: CrystalSchema65 = Field(..., title="Crystal Schema") """ A crystal structure, referencing the base material schema """ +class ObjectWithIdAndValueSchema(BaseModel): + value: float + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + class SlabConfigurationSchema(BaseModel): stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( ..., max_length=2, min_length=2 @@ -1125,9 +1201,13 @@ class SlabConfigurationSchema(BaseModel): """ Enum for axis types """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ -class Value18(Enum): +class Value154(Enum): H = "H" He = "He" Li = "Li" @@ -1248,13 +1328,13 @@ class Value18(Enum): Og = "Og" -class Value19(Enum): +class Value155(Enum): X = "X" Vac = "Vac" -class AtomicElementSchema8(BaseModel): - value: Union[Value18, Value19] +class AtomicElementSchema73(BaseModel): + value: Union[Value154, Value155] """ All elements, including extra elements """ @@ -1264,8 +1344,8 @@ class AtomicElementSchema8(BaseModel): """ -class BasisSchema6(BaseModel): - elements: List[AtomicElementSchema8] = Field(..., title="atomic elements schema") +class BasisSchema71(BaseModel): + elements: List[AtomicElementSchema73] = Field(..., title="atomic elements schema") """ atomic elements schema """ @@ -1280,7 +1360,7 @@ class BasisSchema6(BaseModel): """ -class LatticeVectorsSchema6(BaseModel): +class LatticeVectorsSchema71(BaseModel): a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") @@ -1291,12 +1371,12 @@ class LatticeVectorsSchema6(BaseModel): units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") -class LatticeUnitsSchema6(BaseModel): +class LatticeUnitsSchema71(BaseModel): length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") -class LatticeSchema6(BaseModel): +class LatticeSchema71(BaseModel): a: float """ length of the first lattice vector @@ -1321,56 +1401,56 @@ class LatticeSchema6(BaseModel): """ angle between first and third lattice vector """ - vectors: Optional[LatticeVectorsSchema6] = Field(None, title="lattice vectors schema") + vectors: Optional[LatticeVectorsSchema71] = Field(None, title="lattice vectors schema") type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") - units: Optional[LatticeUnitsSchema6] = Field( - default_factory=lambda: LatticeUnitsSchema6.model_validate({"length": "angstrom", "angle": "degree"}), + units: Optional[LatticeUnitsSchema71] = Field( + default_factory=lambda: LatticeUnitsSchema71.model_validate({"length": "angstrom", "angle": "degree"}), title="Lattice units schema", ) -class Name54(Enum): +class Name674(Enum): volume = "volume" -class Units26(Enum): +class Units295(Enum): angstrom_3 = "angstrom^3" -class VolumeSchema6(BaseModel): +class VolumeSchema71(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units26] = None + units: Optional[Units295] = None value: float -class Name55(Enum): +class Name675(Enum): density = "density" -class Units27(Enum): +class Units296(Enum): g_cm_3 = "g/cm^3" -class DensitySchema6(BaseModel): +class DensitySchema72(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units27] = None + units: Optional[Units296] = None value: float -class Units28(Enum): +class Units297(Enum): angstrom = "angstrom" -class ScalarSchema7(BaseModel): - units: Optional[Units28] = None +class ScalarSchema87(BaseModel): + units: Optional[Units297] = None value: float -class Name56(Enum): +class Name676(Enum): symmetry = "symmetry" -class SymmetrySchema6(BaseModel): +class SymmetrySchema71(BaseModel): pointGroupSymbol: Optional[str] = None """ point group symbol in Schoenflies notation @@ -1379,18 +1459,18 @@ class SymmetrySchema6(BaseModel): """ space group symbol in Hermann–Mauguin notation """ - tolerance: Optional[ScalarSchema7] = Field(None, title="scalar schema") + tolerance: Optional[ScalarSchema87] = Field(None, title="scalar schema") """ tolerance used for symmetry calculation """ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name57(Enum): +class Name677(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio6(BaseModel): +class ElementalRatio72(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -1399,11 +1479,11 @@ class ElementalRatio6(BaseModel): """ -class Name58(Enum): +class Name678(Enum): p_norm = "p-norm" -class PNorm6(BaseModel): +class PNorm72(BaseModel): name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] degree: Optional[int] = None """ @@ -1412,56 +1492,83 @@ class PNorm6(BaseModel): value: float -class Name59(Enum): +class Name679(Enum): inchi = "inchi" -class InChIRepresentationSchema6(BaseModel): +class InChIRepresentationSchema72(BaseModel): name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] value: str -class Name60(Enum): +class Name680(Enum): inchi_key = "inchi_key" -class InChIKeyRepresentationSchema6(BaseModel): +class InChIKeyRepresentationSchema72(BaseModel): name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] value: str -class DerivedPropertiesSchema6( +class DerivedPropertiesSchema72( RootModel[ Union[ - VolumeSchema6, - DensitySchema6, - SymmetrySchema6, - ElementalRatio6, - PNorm6, - InChIRepresentationSchema6, - InChIKeyRepresentationSchema6, + VolumeSchema71, + DensitySchema72, + SymmetrySchema71, + ElementalRatio72, + PNorm72, + InChIRepresentationSchema72, + InChIKeyRepresentationSchema72, ] ] ): root: Union[ - VolumeSchema6, - DensitySchema6, - SymmetrySchema6, - ElementalRatio6, - PNorm6, - InChIRepresentationSchema6, - InChIKeyRepresentationSchema6, + VolumeSchema71, + DensitySchema72, + SymmetrySchema71, + ElementalRatio72, + PNorm72, + InChIRepresentationSchema72, + InChIKeyRepresentationSchema72, ] = Field(..., discriminator="name") -class Name61(Enum): +class DatabaseSourceSchema71(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class Name681(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" -class MaterialConsistencyCheckSchema6(BaseModel): - name: Name61 +class MaterialConsistencyCheckSchema71(BaseModel): + name: Name681 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1479,7 +1586,19 @@ class MaterialConsistencyCheckSchema6(BaseModel): """ -class CrystalSchema6(BaseModel): +class BoundaryConditions70(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata70(BaseModel): + boundaryConditions: Optional[BoundaryConditions70] = None + + +class CrystalSchema66(BaseModel): formula: Optional[str] = None """ reduced chemical formula @@ -1488,10 +1607,10 @@ class CrystalSchema6(BaseModel): """ chemical formula based on the number of atoms of each element in the supercell """ - basis: BasisSchema6 = Field(..., title="basis schema") - lattice: LatticeSchema6 = Field(..., title="lattice schema") - derivedProperties: Optional[List[DerivedPropertiesSchema6]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + basis: BasisSchema71 = Field(..., title="basis schema") + lattice: LatticeSchema71 = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema72]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema71] = Field(None, title="database source schema") """ information about a database source """ @@ -1511,7 +1630,8 @@ class CrystalSchema6(BaseModel): """ Whether to work in the finite molecular picture (usually with atomic orbital basis) """ - consistencyChecks: Optional[List[MaterialConsistencyCheckSchema6]] = None + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema71]] = None + metadata: Optional[Metadata70] = None field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1525,7 +1645,7 @@ class CrystalSchema6(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1533,10 +1653,9 @@ class CrystalSchema6(BaseModel): """ Identifies that entity is defaultable """ - metadata: Optional[Dict[str, Any]] = None -class VacuumConfigurationSchema1(BaseModel): +class VacuumConfigurationSchema28(BaseModel): direction: AxisEnum = Field(..., title="Axis Enum") """ Enum for axis types @@ -1545,17 +1664,21 @@ class VacuumConfigurationSchema1(BaseModel): """ Size of the vacuum slab in angstroms """ - crystal: CrystalSchema6 = Field(..., title="Crystal Schema") + crystal: CrystalSchema66 = Field(..., title="Crystal Schema") """ A crystal structure, referencing the base material schema """ class SlabStackConfigurationSchema(BaseModel): - stack_components: List[Union[SlabConfigurationSchema, Dict[str, Any], VacuumConfigurationSchema1]] = Field( + stack_components: List[Union[SlabConfigurationSchema, Dict[str, Any], VacuumConfigurationSchema28]] = Field( ..., max_length=3, min_length=3 ) direction: Optional[AxisEnum] = Field("z", title="Axis Enum") """ Enum for axis types """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/dist/py/materials_category_components/operations/core/combinations/__init__.py b/dist/py/materials_category_components/operations/core/combinations/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/operations/core/combinations/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/operations/core/combinations/enums.py b/dist/py/materials_category_components/operations/core/combinations/enums.py new file mode 100644 index 000000000..12b7db206 --- /dev/null +++ b/dist/py/materials_category_components/operations/core/combinations/enums.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/operations/core/combinations/enums.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + + +class MergeMethodsEnum(Enum): + ADD = "ADD" + REPLACE = "REPLACE" + YIELD = "YIELD" diff --git a/dist/py/materials_category_components/operations/core/combinations/merge.py b/dist/py/materials_category_components/operations/core/combinations/merge.py new file mode 100644 index 000000000..429f6e171 --- /dev/null +++ b/dist/py/materials_category_components/operations/core/combinations/merge.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/operations/core/combinations/merge.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List + +from pydantic import BaseModel, Field + + +class MergeMethodsEnum(Enum): + ADD = "ADD" + REPLACE = "REPLACE" + YIELD = "YIELD" + + +class MergeSchema(BaseModel): + merge_components: List + merge_method: MergeMethodsEnum = Field(..., title="Merge Methods Enum") + """ + Available methods for merging components + """ diff --git a/dist/py/materials_category_components/operations/core/combinations/stack.py b/dist/py/materials_category_components/operations/core/combinations/stack.py new file mode 100644 index 000000000..83a3cd767 --- /dev/null +++ b/dist/py/materials_category_components/operations/core/combinations/stack.py @@ -0,0 +1,39 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/operations/core/combinations/stack.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class AxisEnum(Enum): + x = "x" + y = "y" + z = "z" + + +class ObjectWithIdAndValueSchema(BaseModel): + value: float + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class StackSchema(BaseModel): + stack_components: List + direction: AxisEnum = Field(..., title="Axis Enum") + """ + Enum for axis types + """ + gaps: Optional[List[ObjectWithIdAndValueSchema]] = None + """ + Gap distances between stack components as array of objects with id and value + """ diff --git a/dist/py/materials_category_components/operations/core/modifications/__init__.py b/dist/py/materials_category_components/operations/core/modifications/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/materials_category_components/operations/core/modifications/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/materials_category_components/operations/core/modifications/perturb.py b/dist/py/materials_category_components/operations/core/modifications/perturb.py new file mode 100644 index 000000000..b63c02efe --- /dev/null +++ b/dist/py/materials_category_components/operations/core/modifications/perturb.py @@ -0,0 +1,564 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/operations/core/modifications/perturb.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, confloat, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value139(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value139] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units] = None + value: float + + +class Name615(Enum): + density = "density" + + +class Units269(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units269] = None + value: float + + +class Units270(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units270] = None + value: float + + +class Name616(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + + +class Name617(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ + + +class Name618(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float + + +class Name619(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class Name620(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + value: str + + +class DerivedPropertiesSchema( + RootModel[ + Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] + ] +): + root: Union[ + VolumeSchema, + DensitySchema, + SymmetrySchema, + ElementalRatio, + PNorm, + InChIRepresentationSchema, + InChIKeyRepresentationSchema, + ] = Field(..., discriminator="name") + + +class Source(Enum): + MaterialsProject = "MaterialsProject" + MaterialsProjectLegacy = "MaterialsProjectLegacy" + ICSD = "ICSD" + field_2dmatpedia = "2dmatpedia" + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: Source + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ + + +class Name621(Enum): + default = "default" + atomsTooClose = "atomsTooClose" + atomsOverlap = "atomsOverlap" + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class MaterialConsistencyCheckSchema(BaseModel): + name: Name621 + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditions(BaseModel): + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Metadata(BaseModel): + boundaryConditions: Optional[BoundaryConditions] = None + + +class MaterialSchema(BaseModel): + formula: Optional[str] = None + """ + reduced chemical formula + """ + unitCellFormula: Optional[str] = None + """ + chemical formula based on the number of atoms of each element in the supercell + """ + basis: BasisSchema = Field(..., title="basis schema") + lattice: LatticeSchema = Field(..., title="lattice schema") + derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema") + external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema") + """ + information about a database source + """ + src: Optional[FileSourceSchema] = Field(None, title="file source schema") + """ + file source with the information inside + """ + scaledHash: Optional[str] = None + """ + Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure). + """ + icsdId: Optional[int] = None + """ + Corresponding ICSD id of the material + """ + isNonPeriodic: Optional[bool] = None + """ + Whether to work in the finite molecular picture (usually with atomic orbital basis) + """ + consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None + metadata: Optional[Metadata] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + + +class PerturbationSchema(BaseModel): + material: Optional[MaterialSchema] = Field(None, title="material schema") + perturbation_function: Optional[str] = None + """ + A function that defines the perturbation (delta in coordinates) to be applied to the atomic coordinates. + """ diff --git a/dist/py/materials_category_components/operations/core/modifications/repeat.py b/dist/py/materials_category_components/operations/core/modifications/repeat.py new file mode 100644 index 000000000..d2adc1c47 --- /dev/null +++ b/dist/py/materials_category_components/operations/core/modifications/repeat.py @@ -0,0 +1,27 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/operations/core/modifications/repeat.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel + + +class ArrayOf3IntegerElementsSchema(RootModel[List[int]]): + root: List[int] = Field(..., title="array of 3 integer elements schema") + + +class RepeatSchema(BaseModel): + matrix: Optional[List[ArrayOf3IntegerElementsSchema]] = Field( + default_factory=lambda: [ + ArrayOf3IntegerElementsSchema.model_validate(v) for v in [[1, 0, 0], [0, 1, 0], [0, 0, 1]] + ], + max_length=3, + min_length=3, + title="Supercell Matrix 3D Schema", + ) + """ + 3x3 matrix of integers for transforming a unit cell into a supercell + """ diff --git a/dist/py/materials_category_components/operations/core/modifications/strain.py b/dist/py/materials_category_components/operations/core/modifications/strain.py new file mode 100644 index 000000000..36f45a558 --- /dev/null +++ b/dist/py/materials_category_components/operations/core/modifications/strain.py @@ -0,0 +1,19 @@ +# generated by datamodel-codegen: +# filename: materials_category_components/operations/core/modifications/strain.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class StrainSchema(BaseModel): + matrix: Optional[List[ArrayOf3NumberElementsSchema]] = Field( + None, max_length=3, min_length=3, title="matrix 3x3 schema" + ) diff --git a/dist/py/method/__init__.py b/dist/py/method/__init__.py new file mode 100644 index 000000000..63816c5f4 --- /dev/null +++ b/dist/py/method/__init__.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: method.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Optional + +from pydantic import BaseModel + + +class BaseMethod(BaseModel): + type: str + """ + general type of this method, eg. `pseudopotential` + """ + subtype: str + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ diff --git a/dist/py/method/categorized_method.py b/dist/py/method/categorized_method.py new file mode 100644 index 000000000..4e9cde4cc --- /dev/null +++ b/dist/py/method/categorized_method.py @@ -0,0 +1,86 @@ +# generated by datamodel-codegen: +# filename: method/categorized_method.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class ReusableCategoriesSchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class CategorizedUnitMethod(BaseModel): + categories: Optional[ReusableCategoriesSchema] = Field(None, title="Reusable categories schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Optional[Dict[str, Any]] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + + +class CategorizedMethod(BaseModel): + units: List[CategorizedUnitMethod] + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/method/method_parameters.py b/dist/py/method/method_parameters.py new file mode 100644 index 000000000..f19813481 --- /dev/null +++ b/dist/py/method/method_parameters.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: method/method_parameters.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field, RootModel + + +class BasisSlug(Enum): + cc_pvdz = "cc-pvdz" + cc_pvtz = "cc-pvtz" + cc_pvqz = "cc-pvqz" + + +class MethodParameters(BaseModel): + basisSlug: Optional[BasisSlug] = None + + +class BasisSlug3(Enum): + field_3_21G = "3-21G" + field_6_31G = "6-31G" + field_6_311G = "6-311G" + + +class MethodParameters1(BaseModel): + basisSlug: Optional[BasisSlug3] = None + + +class BasisSlug4(Enum): + sto_3g = "sto-3g" + sto_4g = "sto-4g" + sto_6g = "sto-6g" + def2_svp = "def2-svp" + def2_tzvp = "def2-tzvp" + def2_qzvp = "def2-qzvp" + cbs_qb3 = "cbs-qb3" + + +class MethodParameters2(BaseModel): + basisSlug: Optional[BasisSlug4] = None + + +class ESSE(RootModel[Union[MethodParameters, MethodParameters1, MethodParameters2]]): + root: Union[MethodParameters, MethodParameters1, MethodParameters2] = Field(..., title="MethodParameters") diff --git a/dist/py/method/unit_method.py b/dist/py/method/unit_method.py new file mode 100644 index 000000000..825af930e --- /dev/null +++ b/dist/py/method/unit_method.py @@ -0,0 +1,70 @@ +# generated by datamodel-codegen: +# filename: method/unit_method.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class ReusableCategoriesSchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class CategorizedUnitMethod(BaseModel): + categories: Optional[ReusableCategoriesSchema] = Field(None, title="Reusable categories schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Optional[Dict[str, Any]] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/methods_category/mathematical/__init__.py b/dist/py/methods_category/mathematical/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_category/mathematical/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/methods_category/mathematical/diff/__init__.py b/dist/py/methods_category/mathematical/diff/__init__.py new file mode 100644 index 000000000..c47e56d1a --- /dev/null +++ b/dist/py/methods_category/mathematical/diff/__init__.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/diff.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + diff = "diff" + + +class NumericalDifferentiationCategorySchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/diff/enum_options.py b/dist/py/methods_category/mathematical/diff/enum_options.py new file mode 100644 index 000000000..da1e8492c --- /dev/null +++ b/dist/py/methods_category/mathematical/diff/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/diff/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/diff/fd.py b/dist/py/methods_category/mathematical/diff/fd.py new file mode 100644 index 000000000..c3816f9a2 --- /dev/null +++ b/dist/py/methods_category/mathematical/diff/fd.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/diff/fd.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + fd = "fd" + + +class SlugifiedEntryOrSlug73(Enum): + diff = "diff" + + +class FiniteDifferenceMethodCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug73]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/discr/__init__.py b/dist/py/methods_category/mathematical/discr/__init__.py new file mode 100644 index 000000000..fb12ef782 --- /dev/null +++ b/dist/py/methods_category/mathematical/discr/__init__.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/discr.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + discr = "discr" + + +class DiscretizationCategorySchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/discr/enum_options.py b/dist/py/methods_category/mathematical/discr/enum_options.py new file mode 100644 index 000000000..bf025ed0c --- /dev/null +++ b/dist/py/methods_category/mathematical/discr/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/discr/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/discr/mesh/__init__.py b/dist/py/methods_category/mathematical/discr/mesh/__init__.py new file mode 100644 index 000000000..d351efd96 --- /dev/null +++ b/dist/py/methods_category/mathematical/discr/mesh/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/discr/mesh.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + mesh = "mesh" + + +class SlugifiedEntryOrSlug145(Enum): + discr = "discr" + + +class MeshingMethodCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug145]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/discr/mesh/enum_options.py b/dist/py/methods_category/mathematical/discr/mesh/enum_options.py new file mode 100644 index 000000000..bc89b8fc2 --- /dev/null +++ b/dist/py/methods_category/mathematical/discr/mesh/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/discr/mesh/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/discr/mesh/hybrid.py b/dist/py/methods_category/mathematical/discr/mesh/hybrid.py new file mode 100644 index 000000000..415cdbf68 --- /dev/null +++ b/dist/py/methods_category/mathematical/discr/mesh/hybrid.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/discr/mesh/hybrid.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + hybrid = "hybrid" + + +class SlugifiedEntryOrSlug106(Enum): + mesh = "mesh" + + +class SlugifiedEntryOrSlug107(Enum): + discr = "discr" + + +class HybridMeshingCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug106]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug107]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/discr/mesh/nstruct.py b/dist/py/methods_category/mathematical/discr/mesh/nstruct.py new file mode 100644 index 000000000..1557c43b5 --- /dev/null +++ b/dist/py/methods_category/mathematical/discr/mesh/nstruct.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/discr/mesh/nstruct.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + nstruct = "nstruct" + + +class SlugifiedEntryOrSlug165(Enum): + mesh = "mesh" + + +class SlugifiedEntryOrSlug166(Enum): + discr = "discr" + + +class UnstructuredMeshingCategoryNstructSchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug165]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug166]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/discr/mesh/struct/__init__.py b/dist/py/methods_category/mathematical/discr/mesh/struct/__init__.py new file mode 100644 index 000000000..299b8b73d --- /dev/null +++ b/dist/py/methods_category/mathematical/discr/mesh/struct/__init__.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/discr/mesh/struct.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + struct = "struct" + + +class SlugifiedEntryOrSlug258(Enum): + mesh = "mesh" + + +class SlugifiedEntryOrSlug259(Enum): + discr = "discr" + + +class StructuredMeshingCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug258]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug259]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/discr/mesh/struct/cartesian.py b/dist/py/methods_category/mathematical/discr/mesh/struct/cartesian.py new file mode 100644 index 000000000..1284ba3c3 --- /dev/null +++ b/dist/py/methods_category/mathematical/discr/mesh/struct/cartesian.py @@ -0,0 +1,60 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/discr/mesh/struct/cartesian.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + cartesian = "cartesian" + + +class SlugifiedEntryOrSlug18(Enum): + struct = "struct" + + +class SlugifiedEntryOrSlug19(Enum): + mesh = "mesh" + + +class SlugifiedEntryOrSlug20(Enum): + discr = "discr" + + +class CartesianGridSchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug18]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug19]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug20]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/discr/mesh/struct/enum_options.py b/dist/py/methods_category/mathematical/discr/mesh/struct/enum_options.py new file mode 100644 index 000000000..8c64965d9 --- /dev/null +++ b/dist/py/methods_category/mathematical/discr/mesh/struct/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/discr/mesh/struct/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/enum_options.py b/dist/py/methods_category/mathematical/enum_options.py new file mode 100644 index 000000000..c022aead4 --- /dev/null +++ b/dist/py/methods_category/mathematical/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/fapprx/__init__.py b/dist/py/methods_category/mathematical/fapprx/__init__.py new file mode 100644 index 000000000..85a4dfa18 --- /dev/null +++ b/dist/py/methods_category/mathematical/fapprx/__init__.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/fapprx.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + fapprx = "fapprx" + + +class UnstructuredMeshingCategoryFapprxSchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/fapprx/basisexp.py b/dist/py/methods_category/mathematical/fapprx/basisexp.py new file mode 100644 index 000000000..a0f93ac25 --- /dev/null +++ b/dist/py/methods_category/mathematical/fapprx/basisexp.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/fapprx/basisexp.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + basisExp = "basisExp" + + +class SlugifiedEntryOrSlug10(Enum): + fapprx = "fapprx" + + +class BasisExpansionCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug10]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/fapprx/enum_options.py b/dist/py/methods_category/mathematical/fapprx/enum_options.py new file mode 100644 index 000000000..5c777b2c9 --- /dev/null +++ b/dist/py/methods_category/mathematical/fapprx/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/fapprx/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/fapprx/ipol/__init__.py b/dist/py/methods_category/mathematical/fapprx/ipol/__init__.py new file mode 100644 index 000000000..326639a2f --- /dev/null +++ b/dist/py/methods_category/mathematical/fapprx/ipol/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/fapprx/ipol.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + ipol = "ipol" + + +class SlugifiedEntryOrSlug115(Enum): + fapprx = "fapprx" + + +class InterpolationCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug115]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/fapprx/ipol/enum_options.py b/dist/py/methods_category/mathematical/fapprx/ipol/enum_options.py new file mode 100644 index 000000000..89f29cc62 --- /dev/null +++ b/dist/py/methods_category/mathematical/fapprx/ipol/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/fapprx/ipol/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/fapprx/ipol/lin.py b/dist/py/methods_category/mathematical/fapprx/ipol/lin.py new file mode 100644 index 000000000..1ea7f55a8 --- /dev/null +++ b/dist/py/methods_category/mathematical/fapprx/ipol/lin.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/fapprx/ipol/lin.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + lin = "lin" + + +class SlugifiedEntryOrSlug134(Enum): + ipol = "ipol" + + +class SlugifiedEntryOrSlug135(Enum): + fapprx = "fapprx" + + +class LinearInterpolationCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug134]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug135]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/fapprx/ipol/poly.py b/dist/py/methods_category/mathematical/fapprx/ipol/poly.py new file mode 100644 index 000000000..e26514b6c --- /dev/null +++ b/dist/py/methods_category/mathematical/fapprx/ipol/poly.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/fapprx/ipol/poly.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + poly = "poly" + + +class SlugifiedEntryOrSlug195(Enum): + ipol = "ipol" + + +class SlugifiedEntryOrSlug196(Enum): + fapprx = "fapprx" + + +class PolynomialInterpolationCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug195]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug196]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/fapprx/ipol/spline.py b/dist/py/methods_category/mathematical/fapprx/ipol/spline.py new file mode 100644 index 000000000..90096ea82 --- /dev/null +++ b/dist/py/methods_category/mathematical/fapprx/ipol/spline.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/fapprx/ipol/spline.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + spline = "spline" + + +class SlugifiedEntryOrSlug251(Enum): + ipol = "ipol" + + +class SlugifiedEntryOrSlug252(Enum): + fapprx = "fapprx" + + +class SplineInterpolationCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug251]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug252]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/__init__.py b/dist/py/methods_category/mathematical/intgr/__init__.py new file mode 100644 index 000000000..3a4d0f658 --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/__init__.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + intgr = "intgr" + + +class IntegrationCategorySchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/analytic/__init__.py b/dist/py/methods_category/mathematical/intgr/analytic/__init__.py new file mode 100644 index 000000000..19e63d4f5 --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/analytic/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/analytic.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + analytic = "analytic" + + +class SlugifiedEntryOrSlug4(Enum): + intgr = "intgr" + + +class AnalyticIntegralCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug4]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/analytic/enum_options.py b/dist/py/methods_category/mathematical/intgr/analytic/enum_options.py new file mode 100644 index 000000000..193d8586c --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/analytic/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/analytic/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/intgr/analytic/volume.py b/dist/py/methods_category/mathematical/intgr/analytic/volume.py new file mode 100644 index 000000000..ce9cb1afe --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/analytic/volume.py @@ -0,0 +1,67 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/analytic/volume.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + volume = "volume" + + +class SlugifiedEntryOrSlug271(Enum): + sphere = "sphere" + cube = "cube" + rect_prism = "rect-prism" + tri_prism = "tri-prism" + cylinder = "cylinder" + cone = "cone" + tetrahedron = "tetrahedron" + sq_pyr = "sq-pyr" + + +class SlugifiedEntryOrSlug272(Enum): + analytic = "analytic" + + +class SlugifiedEntryOrSlug273(Enum): + intgr = "intgr" + + +class AnalyticVolumeIntegralCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug271]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug272]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug273]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/diffeq/__init__.py b/dist/py/methods_category/mathematical/intgr/diffeq/__init__.py new file mode 100644 index 000000000..ce9951a39 --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/diffeq/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/diffeq.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + diffeq = "diffeq" + + +class SlugifiedEntryOrSlug48(Enum): + intgr = "intgr" + + +class MethodsForTheNumericalIntegrationOfDifferentialEquationsSchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug48]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/diffeq/enum_options.py b/dist/py/methods_category/mathematical/intgr/diffeq/enum_options.py new file mode 100644 index 000000000..14d093df1 --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/diffeq/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/diffeq/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/intgr/diffeq/order1.py b/dist/py/methods_category/mathematical/intgr/diffeq/order1.py new file mode 100644 index 000000000..2fce22dcb --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/diffeq/order1.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/diffeq/order1.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + order1 = "order1" + + +class SlugifiedEntryOrSlug171(Enum): + diffeq = "diffeq" + + +class SlugifiedEntryOrSlug172(Enum): + intgr = "intgr" + + +class Order1Schema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug171]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug172]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/diffeq/order2.py b/dist/py/methods_category/mathematical/intgr/diffeq/order2.py new file mode 100644 index 000000000..b03c3b66b --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/diffeq/order2.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/diffeq/order2.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + order2 = "order2" + + +class SlugifiedEntryOrSlug177(Enum): + diffeq = "diffeq" + + +class SlugifiedEntryOrSlug178(Enum): + intgr = "intgr" + + +class Order2Schema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug177]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug178]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/enum_options.py b/dist/py/methods_category/mathematical/intgr/enum_options.py new file mode 100644 index 000000000..1dfe4a9bf --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/intgr/numquad/__init__.py b/dist/py/methods_category/mathematical/intgr/numquad/__init__.py new file mode 100644 index 000000000..f9c500a67 --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/numquad/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/numquad.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + numquad = "numquad" + + +class SlugifiedEntryOrSlug168(Enum): + intgr = "intgr" + + +class MethodsForTheNumericalQuadratureSchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug168]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/numquad/enum_options.py b/dist/py/methods_category/mathematical/intgr/numquad/enum_options.py new file mode 100644 index 000000000..9cfba371d --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/numquad/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/numquad/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/intgr/numquad/gauss.py b/dist/py/methods_category/mathematical/intgr/numquad/gauss.py new file mode 100644 index 000000000..c73847bc0 --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/numquad/gauss.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/numquad/gauss.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + gauss = "gauss" + + +class SlugifiedEntryOrSlug78(Enum): + numquad = "numquad" + + +class SlugifiedEntryOrSlug79(Enum): + intgr = "intgr" + + +class GaussianQuadratureRulesSchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug78]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug79]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/numquad/newcot.py b/dist/py/methods_category/mathematical/intgr/numquad/newcot.py new file mode 100644 index 000000000..27129e835 --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/numquad/newcot.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/numquad/newcot.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + newcot = "newcot" + + +class SlugifiedEntryOrSlug162(Enum): + numquad = "numquad" + + +class SlugifiedEntryOrSlug163(Enum): + intgr = "intgr" + + +class NewtonCotesQuadratureRulesSchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug162]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug163]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/transf/__init__.py b/dist/py/methods_category/mathematical/intgr/transf/__init__.py new file mode 100644 index 000000000..d28d5e331 --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/transf/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/transf.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + transf = "transf" + + +class SlugifiedEntryOrSlug269(Enum): + intgr = "intgr" + + +class IntegralTransformMethodsSchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug269]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/intgr/transf/enum_options.py b/dist/py/methods_category/mathematical/intgr/transf/enum_options.py new file mode 100644 index 000000000..229aa576d --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/transf/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/transf/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/intgr/transf/fourier.py b/dist/py/methods_category/mathematical/intgr/transf/fourier.py new file mode 100644 index 000000000..2c8277db0 --- /dev/null +++ b/dist/py/methods_category/mathematical/intgr/transf/fourier.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/intgr/transf/fourier.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + fourier = "fourier" + + +class SlugifiedEntryOrSlug75(Enum): + transf = "transf" + + +class SlugifiedEntryOrSlug76(Enum): + intgr = "intgr" + + +class FourierTransformMethodsSchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug75]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug76]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/linalg/__init__.py b/dist/py/methods_category/mathematical/linalg/__init__.py new file mode 100644 index 000000000..3af62a4c2 --- /dev/null +++ b/dist/py/methods_category/mathematical/linalg/__init__.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/linalg.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + linalg = "linalg" + + +class LinearAlgebraCategorySchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/linalg/dcomp.py b/dist/py/methods_category/mathematical/linalg/dcomp.py new file mode 100644 index 000000000..3d945680a --- /dev/null +++ b/dist/py/methods_category/mathematical/linalg/dcomp.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/linalg/dcomp.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + dcomp = "dcomp" + + +class SlugifiedEntryOrSlug36(Enum): + linalg = "linalg" + + +class MatrixDecompositionMethodsSchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug36]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/linalg/diag/__init__.py b/dist/py/methods_category/mathematical/linalg/diag/__init__.py new file mode 100644 index 000000000..e95d01be6 --- /dev/null +++ b/dist/py/methods_category/mathematical/linalg/diag/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/linalg/diag.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + diag = "diag" + + +class SlugifiedEntryOrSlug43(Enum): + linalg = "linalg" + + +class MatrixDiagonalizationMethodsSchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug43]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/linalg/diag/davidson.py b/dist/py/methods_category/mathematical/linalg/diag/davidson.py new file mode 100644 index 000000000..32f2a5bab --- /dev/null +++ b/dist/py/methods_category/mathematical/linalg/diag/davidson.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/linalg/diag/davidson.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + davidson = "davidson" + + +class SlugifiedEntryOrSlug33(Enum): + diag = "diag" + + +class SlugifiedEntryOrSlug34(Enum): + linalg = "linalg" + + +class DavidsonDiagonalizationMethodSchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug33]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug34]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/linalg/diag/enum_options.py b/dist/py/methods_category/mathematical/linalg/diag/enum_options.py new file mode 100644 index 000000000..f29334de6 --- /dev/null +++ b/dist/py/methods_category/mathematical/linalg/diag/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/linalg/diag/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/linalg/enum_options.py b/dist/py/methods_category/mathematical/linalg/enum_options.py new file mode 100644 index 000000000..a72b88038 --- /dev/null +++ b/dist/py/methods_category/mathematical/linalg/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/linalg/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/linalg/lintra.py b/dist/py/methods_category/mathematical/linalg/lintra.py new file mode 100644 index 000000000..e3dbb580a --- /dev/null +++ b/dist/py/methods_category/mathematical/linalg/lintra.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/linalg/lintra.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + lintra = "lintra" + + +class SlugifiedEntryOrSlug138(Enum): + linalg = "linalg" + + +class LinearTransformationMethodsSchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug138]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/linalg/matf.py b/dist/py/methods_category/mathematical/linalg/matf.py new file mode 100644 index 000000000..a0941d8fd --- /dev/null +++ b/dist/py/methods_category/mathematical/linalg/matf.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/linalg/matf.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + matf = "matf" + + +class SlugifiedEntryOrSlug143(Enum): + linalg = "linalg" + + +class MatrixFunctionMethodsSchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug143]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/__init__.py b/dist/py/methods_category/mathematical/opt/__init__.py new file mode 100644 index 000000000..08582d1df --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/__init__.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + opt = "opt" + + +class MathematicalOptSchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/diff/__init__.py b/dist/py/methods_category/mathematical/opt/diff/__init__.py new file mode 100644 index 000000000..c8ca62909 --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/diff/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/diff.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + diff = "diff" + + +class SlugifiedEntryOrSlug46(Enum): + opt = "opt" + + +class OptimizationMethodsForDifferentiableFunctionsCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug46]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/diff/bracket.py b/dist/py/methods_category/mathematical/opt/diff/bracket.py new file mode 100644 index 000000000..fd006e983 --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/diff/bracket.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/diff/bracket.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + bracket = "bracket" + + +class SlugifiedEntryOrSlug12(Enum): + diff = "diff" + + +class SlugifiedEntryOrSlug13(Enum): + opt = "opt" + + +class BracketAlgorithmsForTheOptimizationOfDifferentiableFunctionsSchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug12]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug13]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/diff/enum_options.py b/dist/py/methods_category/mathematical/opt/diff/enum_options.py new file mode 100644 index 000000000..e131fa68d --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/diff/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/diff/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/opt/diff/local.py b/dist/py/methods_category/mathematical/opt/diff/local.py new file mode 100644 index 000000000..1360650bf --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/diff/local.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/diff/local.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + local = "local" + + +class SlugifiedEntryOrSlug140(Enum): + diff = "diff" + + +class SlugifiedEntryOrSlug141(Enum): + opt = "opt" + + +class LocalDescentMethodsForTheOptimizationOfDifferentiableFunctionsSchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug140]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug141]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/diff/order1.py b/dist/py/methods_category/mathematical/opt/diff/order1.py new file mode 100644 index 000000000..83c08356d --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/diff/order1.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/diff/order1.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + order1 = "order1" + + +class SlugifiedEntryOrSlug174(Enum): + diff = "diff" + + +class SlugifiedEntryOrSlug175(Enum): + opt = "opt" + + +class FirstOrderAlgorithmsForTheOptimizationOfDifferentiableFunctionsSchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug174]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug175]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/diff/order2.py b/dist/py/methods_category/mathematical/opt/diff/order2.py new file mode 100644 index 000000000..ad7f6fc0b --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/diff/order2.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/diff/order2.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + order2 = "order2" + + +class SlugifiedEntryOrSlug180(Enum): + diff = "diff" + + +class SlugifiedEntryOrSlug181(Enum): + opt = "opt" + + +class SecondOrderAlgorithmsForTheOptimizationOfDifferentiableFunctionsSchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug180]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug181]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/diff/ordern/__init__.py b/dist/py/methods_category/mathematical/opt/diff/ordern/__init__.py new file mode 100644 index 000000000..32c266c32 --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/diff/ordern/__init__.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/diff/ordern.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + ordern = "ordern" + + +class SlugifiedEntryOrSlug183(Enum): + diff = "diff" + + +class SlugifiedEntryOrSlug184(Enum): + opt = "opt" + + +class MixedOrderAndHigherOrderAlgorithmsForTheOptimizationOfDifferentiableFunctionsSchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug183]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug184]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/diff/ordern/cg.py b/dist/py/methods_category/mathematical/opt/diff/ordern/cg.py new file mode 100644 index 000000000..11db0fa46 --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/diff/ordern/cg.py @@ -0,0 +1,60 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/diff/ordern/cg.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + cg = "cg" + + +class SlugifiedEntryOrSlug26(Enum): + ordern = "ordern" + + +class SlugifiedEntryOrSlug27(Enum): + diff = "diff" + + +class SlugifiedEntryOrSlug28(Enum): + opt = "opt" + + +class ConjugateGradientMethodSchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug26]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug27]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug28]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/diff/ordern/enum_options.py b/dist/py/methods_category/mathematical/opt/diff/ordern/enum_options.py new file mode 100644 index 000000000..ef0eabc22 --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/diff/ordern/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/diff/ordern/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/opt/enum_options.py b/dist/py/methods_category/mathematical/opt/enum_options.py new file mode 100644 index 000000000..1d961755b --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/opt/ndiff/__init__.py b/dist/py/methods_category/mathematical/opt/ndiff/__init__.py new file mode 100644 index 000000000..a91e9b42f --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/ndiff/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/ndiff.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + ndiff = "ndiff" + + +class SlugifiedEntryOrSlug160(Enum): + opt = "opt" + + +class OptimizationMethodsForNonDifferentiableFunctionsCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug160]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/ndiff/direct.py b/dist/py/methods_category/mathematical/opt/ndiff/direct.py new file mode 100644 index 000000000..8d7b74974 --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/ndiff/direct.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/ndiff/direct.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + direct = "direct" + + +class SlugifiedEntryOrSlug50(Enum): + ndiff = "ndiff" + + +class SlugifiedEntryOrSlug51(Enum): + opt = "opt" + + +class DirectAlgorithmsForTheOptimizationOfNonDifferentiableFunctionsCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug50]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug51]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/ndiff/enum_options.py b/dist/py/methods_category/mathematical/opt/ndiff/enum_options.py new file mode 100644 index 000000000..7de22f2ce --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/ndiff/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/ndiff/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/opt/ndiff/pop.py b/dist/py/methods_category/mathematical/opt/ndiff/pop.py new file mode 100644 index 000000000..03d6e1f7f --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/ndiff/pop.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/ndiff/pop.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + pop = "pop" + + +class SlugifiedEntryOrSlug198(Enum): + ndiff = "ndiff" + + +class SlugifiedEntryOrSlug199(Enum): + opt = "opt" + + +class PopulationAlgorithmsForTheOptmizationOfNonDifferentiableFunctionsCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug198]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug199]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/ndiff/stoch.py b/dist/py/methods_category/mathematical/opt/ndiff/stoch.py new file mode 100644 index 000000000..3e3ec9712 --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/ndiff/stoch.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/ndiff/stoch.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + stoch = "stoch" + + +class SlugifiedEntryOrSlug255(Enum): + ndiff = "ndiff" + + +class SlugifiedEntryOrSlug256(Enum): + opt = "opt" + + +class StochasticAlgorithmsForTheOptmizationOfNonDifferentiableFunctionsCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug255]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug256]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/root/__init__.py b/dist/py/methods_category/mathematical/opt/root/__init__.py new file mode 100644 index 000000000..0f9c1f286 --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/root/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/root.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + root = "root" + + +class SlugifiedEntryOrSlug238(Enum): + opt = "opt" + + +class RootFindingCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug238]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/root/bracket.py b/dist/py/methods_category/mathematical/opt/root/bracket.py new file mode 100644 index 000000000..82c417ee5 --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/root/bracket.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/root/bracket.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + bracket = "bracket" + + +class SlugifiedEntryOrSlug15(Enum): + root = "root" + + +class SlugifiedEntryOrSlug16(Enum): + opt = "opt" + + +class BracketingMethodForFindingRootsCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug15]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug16]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/opt/root/enum_options.py b/dist/py/methods_category/mathematical/opt/root/enum_options.py new file mode 100644 index 000000000..2edccaf1c --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/root/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/root/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/mathematical/opt/root/iter.py b/dist/py/methods_category/mathematical/opt/root/iter.py new file mode 100644 index 000000000..54218e927 --- /dev/null +++ b/dist/py/methods_category/mathematical/opt/root/iter.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/opt/root/iter.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + iterative = "iterative" + + +class SlugifiedEntryOrSlug117(Enum): + root = "root" + + +class SlugifiedEntryOrSlug118(Enum): + opt = "opt" + + +class IterativeMethodForRootFindingCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug117]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug118]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/mathematical/regression.py b/dist/py/methods_category/mathematical/regression.py new file mode 100644 index 000000000..1b3246490 --- /dev/null +++ b/dist/py/methods_category/mathematical/regression.py @@ -0,0 +1,54 @@ +# generated by datamodel-codegen: +# filename: methods_category/mathematical/regression.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + linear = "linear" + kernel_ridge = "kernel_ridge" + + +class SlugifiedEntryOrSlug236(Enum): + least_squares = "least_squares" + ridge = "ridge" + + +class LinearMethodsCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug236]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/physical/__init__.py b/dist/py/methods_category/physical/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_category/physical/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/src/py/mat3ra/esse/models/context_providers_directory/enum_options.py b/dist/py/methods_category/physical/enum_options.py similarity index 75% rename from src/py/mat3ra/esse/models/context_providers_directory/enum_options.py rename to dist/py/methods_category/physical/enum_options.py index 4549ae41b..a872255eb 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/enum_options.py +++ b/dist/py/methods_category/physical/enum_options.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: context_providers_directory/enum_options.json +# filename: methods_category/physical/enum_options.json # version: 0.28.5 from __future__ import annotations diff --git a/dist/py/methods_category/physical/qm/__init__.py b/dist/py/methods_category/physical/qm/__init__.py new file mode 100644 index 000000000..3e057f567 --- /dev/null +++ b/dist/py/methods_category/physical/qm/__init__.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + qm = "qm" + + +class QuantumMechanicalMethodCategorySchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/physical/qm/enum_options.py b/dist/py/methods_category/physical/qm/enum_options.py new file mode 100644 index 000000000..fcd4ff9fe --- /dev/null +++ b/dist/py/methods_category/physical/qm/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/physical/qm/wf/__init__.py b/dist/py/methods_category/physical/qm/wf/__init__.py new file mode 100644 index 000000000..fa4b33f23 --- /dev/null +++ b/dist/py/methods_category/physical/qm/wf/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/wf.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug275(Enum): + qm = "qm" + + +class MethodsRelatedToWaveFunctionsSchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug275]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/physical/qm/wf/ao/__init__.py b/dist/py/methods_category/physical/qm/wf/ao/__init__.py new file mode 100644 index 000000000..0ca2c5b17 --- /dev/null +++ b/dist/py/methods_category/physical/qm/wf/ao/__init__.py @@ -0,0 +1,62 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/wf/ao.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + ao = "ao" + + +class SlugifiedEntryOrSlug6(Enum): + pople = "pople" + dunning = "dunning" + other = "other" + + +class SlugifiedEntryOrSlug7(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug8(Enum): + qm = "qm" + + +class ApproximatingTheElectronicWaveFunctionWithAAtomicOrbitalBasisSchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug6]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug7]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug8]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/physical/qm/wf/ao/dunning.py b/dist/py/methods_category/physical/qm/wf/ao/dunning.py new file mode 100644 index 000000000..988f4dd89 --- /dev/null +++ b/dist/py/methods_category/physical/qm/wf/ao/dunning.py @@ -0,0 +1,60 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/wf/ao/dunning.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + dunning = "dunning" + + +class SlugifiedEntryOrSlug68(Enum): + ao = "ao" + + +class SlugifiedEntryOrSlug69(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug70(Enum): + qm = "qm" + + +class DunningCorrelationConsistentBasisSetCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug68]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug69]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug70]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/physical/qm/wf/ao/other.py b/dist/py/methods_category/physical/qm/wf/ao/other.py new file mode 100644 index 000000000..24341d79a --- /dev/null +++ b/dist/py/methods_category/physical/qm/wf/ao/other.py @@ -0,0 +1,60 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/wf/ao/other.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + other = "other" + + +class SlugifiedEntryOrSlug190(Enum): + ao = "ao" + + +class SlugifiedEntryOrSlug191(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug192(Enum): + qm = "qm" + + +class OtherNeitherPopleNorDunningBasisSetCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug190]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug191]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug192]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/physical/qm/wf/ao/pople.py b/dist/py/methods_category/physical/qm/wf/ao/pople.py new file mode 100644 index 000000000..e5cb4d651 --- /dev/null +++ b/dist/py/methods_category/physical/qm/wf/ao/pople.py @@ -0,0 +1,60 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/wf/ao/pople.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + pople = "pople" + + +class SlugifiedEntryOrSlug205(Enum): + ao = "ao" + + +class SlugifiedEntryOrSlug206(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug207(Enum): + qm = "qm" + + +class PopleBasisSetCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug205]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug206]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug207]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/physical/qm/wf/enum_options.py b/dist/py/methods_category/physical/qm/wf/enum_options.py new file mode 100644 index 000000000..3444bb012 --- /dev/null +++ b/dist/py/methods_category/physical/qm/wf/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/wf/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_category/physical/qm/wf/psp.py b/dist/py/methods_category/physical/qm/wf/psp.py new file mode 100644 index 000000000..42d85dad0 --- /dev/null +++ b/dist/py/methods_category/physical/qm/wf/psp.py @@ -0,0 +1,64 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/wf/psp.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + psp = "psp" + + +class SlugifiedEntryOrSlug213(Enum): + us = "us" + nc = "nc" + nc_fr = "nc-fr" + paw = "paw" + coulomb = "coulomb" + + +class SlugifiedEntryOrSlug214(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug215(Enum): + qm = "qm" + + +class PseudopotentialCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug213]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug214]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug215]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/physical/qm/wf/pw.py b/dist/py/methods_category/physical/qm/wf/pw.py new file mode 100644 index 000000000..5b7f62962 --- /dev/null +++ b/dist/py/methods_category/physical/qm/wf/pw.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/wf/pw.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + pw = "pw" + + +class SlugifiedEntryOrSlug220(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug221(Enum): + qm = "qm" + + +class PlaneWaveCatgeorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug220]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug221]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/physical/qm/wf/smearing.py b/dist/py/methods_category/physical/qm/wf/smearing.py new file mode 100644 index 000000000..c79889556 --- /dev/null +++ b/dist/py/methods_category/physical/qm/wf/smearing.py @@ -0,0 +1,63 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/wf/smearing.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + smearing = "smearing" + + +class SlugifiedEntryOrSlug247(Enum): + gaussian = "gaussian" + marzari_vanderbilt = "marzari-vanderbilt" + methfessel_paxton = "methfessel-paxton" + fermi_dirac = "fermi-dirac" + + +class SlugifiedEntryOrSlug248(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug249(Enum): + qm = "qm" + + +class SmearingMethodsCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug247]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug248]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug249]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_category/physical/qm/wf/tetrahedron.py b/dist/py/methods_category/physical/qm/wf/tetrahedron.py new file mode 100644 index 000000000..65a4ebce4 --- /dev/null +++ b/dist/py/methods_category/physical/qm/wf/tetrahedron.py @@ -0,0 +1,62 @@ +# generated by datamodel-codegen: +# filename: methods_category/physical/qm/wf/tetrahedron.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + tetrahedron = "tetrahedron" + + +class SlugifiedEntryOrSlug265(Enum): + linear = "linear" + optimized = "optimized" + bloechl = "bloechl" + + +class SlugifiedEntryOrSlug266(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug267(Enum): + qm = "qm" + + +class TetrahedronMethodForBrillouinZoneIntegrationCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug265]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug266]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug267]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/methods_directory/legacy/__init__.py b/dist/py/methods_directory/legacy/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_directory/legacy/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/methods_directory/legacy/localorbital.py b/dist/py/methods_directory/legacy/localorbital.py new file mode 100644 index 000000000..878abf75c --- /dev/null +++ b/dist/py/methods_directory/legacy/localorbital.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: methods_directory/legacy/localorbital.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Literal, Optional + +from pydantic import BaseModel + + +class LegacyMethodLocalorbital(BaseModel): + type: Literal["localorbital"] + """ + general type of this method, eg. `pseudopotential` + """ + subtype: Literal["pople"] + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ diff --git a/dist/py/methods_directory/legacy/pseudopotential.py b/dist/py/methods_directory/legacy/pseudopotential.py new file mode 100644 index 000000000..0ee91ee31 --- /dev/null +++ b/dist/py/methods_directory/legacy/pseudopotential.py @@ -0,0 +1,36 @@ +# generated by datamodel-codegen: +# filename: methods_directory/legacy/pseudopotential.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, Literal, Optional + +from pydantic import BaseModel + + +class Subtype(Enum): + paw = "paw" + nc = "nc" + us = "us" + any = "any" + + +class LegacyMethodPseudopotential(BaseModel): + type: Literal["pseudopotential"] + """ + general type of this method, eg. `pseudopotential` + """ + subtype: Optional[Subtype] = "us" + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ diff --git a/dist/py/methods_directory/legacy/regression.py b/dist/py/methods_directory/legacy/regression.py new file mode 100644 index 000000000..c03aae6fb --- /dev/null +++ b/dist/py/methods_directory/legacy/regression.py @@ -0,0 +1,118 @@ +# generated by datamodel-codegen: +# filename: methods_directory/legacy/regression.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, List, Optional, Union + +from pydantic import BaseModel, Field + + +class Type(Enum): + linear = "linear" + kernel_ridge = "kernel_ridge" + + +class Subtype(Enum): + least_squares = "least_squares" + ridge = "ridge" + + +class RegressionPrecisionPerPropertySchema(BaseModel): + name: Optional[str] = None + """ + property name in 'flattened' format + """ + trainingError: float + """ + training error of the estimator + """ + score: Optional[float] = None + """ + prediction score of the estimator. Eg: r2_score + """ + + +class RegressionPrecision(BaseModel): + perProperty: Optional[List[RegressionPrecisionPerPropertySchema]] = None + + +class PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema(BaseModel): + coefficient: Optional[float] = None + """ + coefficient in linear regression + """ + name: str + """ + feature name + """ + importance: Optional[float] = None + """ + pvalue: https://en.wikipedia.org/wiki/P-value + """ + + +class LinearRegressionParametersSchema(BaseModel): + intercept: float + """ + intercept (shift) from the linear or non-linear fit of data points + """ + perFeature: List[PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema] + """ + per-feature (property used for training the ML method/model) parameters + """ + + +class KernelRidgeRegressionParametersSchema(BaseModel): + xFit: List + """ + training data + """ + dualCoefficients: List + """ + dual coefficients + """ + perFeature: List[PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema] + """ + per-feature (property used for training the ML method/model) parameters + """ + + +class DataSet(BaseModel): + exabyteIds: List[str] + """ + array of exabyteIds for materials in dataset + """ + extra: Optional[Any] = None + """ + holder for any extra information, eg. coming from user-uploaded CSV file + """ + + +class RegressionData(BaseModel): + perProperty: Optional[List[Union[LinearRegressionParametersSchema, KernelRidgeRegressionParametersSchema]]] = None + dataSet: Optional[DataSet] = None + """ + dataset for ml + """ + + +class LegacyMethodRegression(BaseModel): + type: Type + """ + general type of this method, eg. `pseudopotential` + """ + subtype: Subtype + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: RegressionPrecision = Field(..., title="regression precision") + """ + Object showing the actual possible precision based on theory and implementation + """ + data: RegressionData = Field(..., title="regression data") + """ + additional data specific to method, eg. array of pseudopotentials + """ diff --git a/dist/py/methods_directory/legacy/unknown.py b/dist/py/methods_directory/legacy/unknown.py new file mode 100644 index 000000000..50759cf2c --- /dev/null +++ b/dist/py/methods_directory/legacy/unknown.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: methods_directory/legacy/unknown.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Literal, Optional + +from pydantic import BaseModel + + +class LegacyMethodUnknown(BaseModel): + type: Literal["unknown"] + """ + general type of this method, eg. `pseudopotential` + """ + subtype: Literal["unknown"] + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ diff --git a/dist/py/methods_directory/mathematical/__init__.py b/dist/py/methods_directory/mathematical/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_directory/mathematical/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/methods_directory/mathematical/cg.py b/dist/py/methods_directory/mathematical/cg.py new file mode 100644 index 000000000..b57969eb5 --- /dev/null +++ b/dist/py/methods_directory/mathematical/cg.py @@ -0,0 +1,87 @@ +# generated by datamodel-codegen: +# filename: methods_directory/mathematical/cg.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + cg = "cg" + + +class SlugifiedEntryOrSlug22(Enum): + ordern = "ordern" + + +class SlugifiedEntryOrSlug23(Enum): + diff = "diff" + + +class SlugifiedEntryOrSlug24(Enum): + opt = "opt" + + +class ConjugateGradientMethodSchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug22]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug23]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug24]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class UnitMethodConjugateGradient(BaseModel): + categories: ConjugateGradientMethodSchema = Field(..., title="Conjugate gradient method schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Optional[Dict[str, Any]] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/methods_directory/mathematical/davidson.py b/dist/py/methods_directory/mathematical/davidson.py new file mode 100644 index 000000000..c0959fd77 --- /dev/null +++ b/dist/py/methods_directory/mathematical/davidson.py @@ -0,0 +1,83 @@ +# generated by datamodel-codegen: +# filename: methods_directory/mathematical/davidson.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + davidson = "davidson" + + +class SlugifiedEntryOrSlug30(Enum): + diag = "diag" + + +class SlugifiedEntryOrSlug31(Enum): + linalg = "linalg" + + +class DavidsonDiagonalizationMethodSchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug30]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug31]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class UnitMethodDavidsonSchema(BaseModel): + categories: DavidsonDiagonalizationMethodSchema = Field(..., title="Davidson diagonalization method schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Optional[Dict[str, Any]] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/methods_directory/mathematical/regression/__init__.py b/dist/py/methods_directory/mathematical/regression/__init__.py new file mode 100644 index 000000000..4cd24d6a9 --- /dev/null +++ b/dist/py/methods_directory/mathematical/regression/__init__.py @@ -0,0 +1,161 @@ +# generated by datamodel-codegen: +# filename: methods_directory/mathematical/regression.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + linear = "linear" + kernel_ridge = "kernel_ridge" + + +class SlugifiedEntryOrSlug234(Enum): + least_squares = "least_squares" + ridge = "ridge" + + +class LinearMethodsCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug234]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class RegressionPrecisionPerPropertySchema(BaseModel): + name: Optional[str] = None + """ + property name in 'flattened' format + """ + trainingError: float + """ + training error of the estimator + """ + score: Optional[float] = None + """ + prediction score of the estimator. Eg: r2_score + """ + + +class RegressionPrecision(BaseModel): + perProperty: Optional[List[RegressionPrecisionPerPropertySchema]] = None + + +class PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema(BaseModel): + coefficient: Optional[float] = None + """ + coefficient in linear regression + """ + name: str + """ + feature name + """ + importance: Optional[float] = None + """ + pvalue: https://en.wikipedia.org/wiki/P-value + """ + + +class LinearRegressionParametersSchema(BaseModel): + intercept: float + """ + intercept (shift) from the linear or non-linear fit of data points + """ + perFeature: List[PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema] + """ + per-feature (property used for training the ML method/model) parameters + """ + + +class KernelRidgeRegressionParametersSchema(BaseModel): + xFit: List + """ + training data + """ + dualCoefficients: List + """ + dual coefficients + """ + perFeature: List[PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema] + """ + per-feature (property used for training the ML method/model) parameters + """ + + +class DataSet(BaseModel): + exabyteIds: List[str] + """ + array of exabyteIds for materials in dataset + """ + extra: Optional[Any] = None + """ + holder for any extra information, eg. coming from user-uploaded CSV file + """ + + +class RegressionData(BaseModel): + perProperty: Optional[List[Union[LinearRegressionParametersSchema, KernelRidgeRegressionParametersSchema]]] = None + dataSet: Optional[DataSet] = None + """ + dataset for ml + """ + + +class UnitMethodRegression(BaseModel): + categories: LinearMethodsCategorySchema = Field(..., title="linear methods category schema") + """ + Used to categorize entities such as models and methods + """ + precision: RegressionPrecision = Field(..., title="regression precision") + """ + Object showing the actual possible precision based on theory and implementation + """ + data: RegressionData = Field(..., title="regression data") + parameters: Optional[Dict[str, Any]] = None + """ + Instructive parameters defining the method + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/methods_directory/mathematical/regression/data.py b/dist/py/methods_directory/mathematical/regression/data.py new file mode 100644 index 000000000..acd1eea66 --- /dev/null +++ b/dist/py/methods_directory/mathematical/regression/data.py @@ -0,0 +1,69 @@ +# generated by datamodel-codegen: +# filename: methods_directory/mathematical/regression/data.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, List, Optional, Union + +from pydantic import BaseModel + + +class PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema(BaseModel): + coefficient: Optional[float] = None + """ + coefficient in linear regression + """ + name: str + """ + feature name + """ + importance: Optional[float] = None + """ + pvalue: https://en.wikipedia.org/wiki/P-value + """ + + +class LinearRegressionParametersSchema(BaseModel): + intercept: float + """ + intercept (shift) from the linear or non-linear fit of data points + """ + perFeature: List[PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema] + """ + per-feature (property used for training the ML method/model) parameters + """ + + +class KernelRidgeRegressionParametersSchema(BaseModel): + xFit: List + """ + training data + """ + dualCoefficients: List + """ + dual coefficients + """ + perFeature: List[PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema] + """ + per-feature (property used for training the ML method/model) parameters + """ + + +class DataSet(BaseModel): + exabyteIds: List[str] + """ + array of exabyteIds for materials in dataset + """ + extra: Optional[Any] = None + """ + holder for any extra information, eg. coming from user-uploaded CSV file + """ + + +class RegressionData(BaseModel): + perProperty: Optional[List[Union[LinearRegressionParametersSchema, KernelRidgeRegressionParametersSchema]]] = None + dataSet: Optional[DataSet] = None + """ + dataset for ml + """ diff --git a/dist/py/methods_directory/mathematical/regression/dataset.py b/dist/py/methods_directory/mathematical/regression/dataset.py new file mode 100644 index 000000000..2fbfe1719 --- /dev/null +++ b/dist/py/methods_directory/mathematical/regression/dataset.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: methods_directory/mathematical/regression/dataset.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, List, Optional + +from pydantic import BaseModel + + +class ESSE(BaseModel): + exabyteIds: List[str] + """ + array of exabyteIds for materials in dataset + """ + extra: Optional[Any] = None + """ + holder for any extra information, eg. coming from user-uploaded CSV file + """ diff --git a/dist/py/methods_directory/mathematical/regression/kernel_ridge/__init__.py b/dist/py/methods_directory/mathematical/regression/kernel_ridge/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_directory/mathematical/regression/kernel_ridge/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/methods_directory/mathematical/regression/kernel_ridge/data_per_property.py b/dist/py/methods_directory/mathematical/regression/kernel_ridge/data_per_property.py new file mode 100644 index 000000000..cc8379633 --- /dev/null +++ b/dist/py/methods_directory/mathematical/regression/kernel_ridge/data_per_property.py @@ -0,0 +1,39 @@ +# generated by datamodel-codegen: +# filename: methods_directory/mathematical/regression/kernel_ridge/data_per_property.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema(BaseModel): + coefficient: Optional[float] = None + """ + coefficient in linear regression + """ + name: str + """ + feature name + """ + importance: Optional[float] = None + """ + pvalue: https://en.wikipedia.org/wiki/P-value + """ + + +class KernelRidgeRegressionParametersSchema(BaseModel): + xFit: List + """ + training data + """ + dualCoefficients: List + """ + dual coefficients + """ + perFeature: List[PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema] + """ + per-feature (property used for training the ML method/model) parameters + """ diff --git a/dist/py/methods_directory/mathematical/regression/linear/__init__.py b/dist/py/methods_directory/mathematical/regression/linear/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_directory/mathematical/regression/linear/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/methods_directory/mathematical/regression/linear/data_per_property.py b/dist/py/methods_directory/mathematical/regression/linear/data_per_property.py new file mode 100644 index 000000000..6c2886791 --- /dev/null +++ b/dist/py/methods_directory/mathematical/regression/linear/data_per_property.py @@ -0,0 +1,35 @@ +# generated by datamodel-codegen: +# filename: methods_directory/mathematical/regression/linear/data_per_property.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema(BaseModel): + coefficient: Optional[float] = None + """ + coefficient in linear regression + """ + name: str + """ + feature name + """ + importance: Optional[float] = None + """ + pvalue: https://en.wikipedia.org/wiki/P-value + """ + + +class LinearRegressionParametersSchema(BaseModel): + intercept: float + """ + intercept (shift) from the linear or non-linear fit of data points + """ + perFeature: List[PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema] + """ + per-feature (property used for training the ML method/model) parameters + """ diff --git a/dist/py/methods_directory/mathematical/regression/per_feature_item.py b/dist/py/methods_directory/mathematical/regression/per_feature_item.py new file mode 100644 index 000000000..080156256 --- /dev/null +++ b/dist/py/methods_directory/mathematical/regression/per_feature_item.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: methods_directory/mathematical/regression/per_feature_item.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class PerFeaturePropertyUsedForTrainingTheMLMethodModelParametersSchema(BaseModel): + coefficient: Optional[float] = None + """ + coefficient in linear regression + """ + name: str + """ + feature name + """ + importance: Optional[float] = None + """ + pvalue: https://en.wikipedia.org/wiki/P-value + """ diff --git a/dist/py/methods_directory/mathematical/regression/precision.py b/dist/py/methods_directory/mathematical/regression/precision.py new file mode 100644 index 000000000..712a97f3b --- /dev/null +++ b/dist/py/methods_directory/mathematical/regression/precision.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: methods_directory/mathematical/regression/precision.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class RegressionPrecisionPerPropertySchema(BaseModel): + name: Optional[str] = None + """ + property name in 'flattened' format + """ + trainingError: float + """ + training error of the estimator + """ + score: Optional[float] = None + """ + prediction score of the estimator. Eg: r2_score + """ + + +class RegressionPrecision(BaseModel): + perProperty: Optional[List[RegressionPrecisionPerPropertySchema]] = None diff --git a/dist/py/methods_directory/mathematical/regression/precision_per_property.py b/dist/py/methods_directory/mathematical/regression/precision_per_property.py new file mode 100644 index 000000000..17a3f2f64 --- /dev/null +++ b/dist/py/methods_directory/mathematical/regression/precision_per_property.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: methods_directory/mathematical/regression/precision_per_property.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class RegressionPrecisionPerPropertySchema(BaseModel): + name: Optional[str] = None + """ + property name in 'flattened' format + """ + trainingError: float + """ + training error of the estimator + """ + score: Optional[float] = None + """ + prediction score of the estimator. Eg: r2_score + """ diff --git a/dist/py/methods_directory/physical/__init__.py b/dist/py/methods_directory/physical/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_directory/physical/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/methods_directory/physical/ao/__init__.py b/dist/py/methods_directory/physical/ao/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_directory/physical/ao/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/methods_directory/physical/ao/dunning.py b/dist/py/methods_directory/physical/ao/dunning.py new file mode 100644 index 000000000..03a4348c7 --- /dev/null +++ b/dist/py/methods_directory/physical/ao/dunning.py @@ -0,0 +1,103 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/ao/dunning.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + dunning = "dunning" + + +class SlugifiedEntryOrSlug64(Enum): + ao = "ao" + + +class SlugifiedEntryOrSlug65(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug66(Enum): + qm = "qm" + + +class DunningCorrelationConsistentBasisSetCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug64]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug65]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug66]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class BasisSlug(Enum): + cc_pvdz = "cc-pvdz" + cc_pvtz = "cc-pvtz" + cc_pvqz = "cc-pvqz" + + +class Parameters(BaseModel): + basisSlug: Optional[BasisSlug] = None + + +class UnitMethodAoDunning(BaseModel): + categories: DunningCorrelationConsistentBasisSetCategorySchema = Field( + ..., title="Dunning correlation-consistent basis set category schema" + ) + """ + Used to categorize entities such as models and methods + """ + parameters: Optional[Parameters] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + + +class AoBasisDunning(BaseModel): + basisSlug: Optional[BasisSlug] = None diff --git a/dist/py/methods_directory/physical/ao/enum_options.py b/dist/py/methods_directory/physical/ao/enum_options.py new file mode 100644 index 000000000..0082393e5 --- /dev/null +++ b/dist/py/methods_directory/physical/ao/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/ao/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/methods_directory/physical/ao/other.py b/dist/py/methods_directory/physical/ao/other.py new file mode 100644 index 000000000..cfcce7aa1 --- /dev/null +++ b/dist/py/methods_directory/physical/ao/other.py @@ -0,0 +1,107 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/ao/other.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + other = "other" + + +class SlugifiedEntryOrSlug186(Enum): + ao = "ao" + + +class SlugifiedEntryOrSlug187(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug188(Enum): + qm = "qm" + + +class OtherNeitherPopleNorDunningBasisSetCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug186]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug187]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug188]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class BasisSlug(Enum): + sto_3g = "sto-3g" + sto_4g = "sto-4g" + sto_6g = "sto-6g" + def2_svp = "def2-svp" + def2_tzvp = "def2-tzvp" + def2_qzvp = "def2-qzvp" + cbs_qb3 = "cbs-qb3" + + +class Parameters(BaseModel): + basisSlug: Optional[BasisSlug] = None + + +class UnitMethodAoOther(BaseModel): + categories: OtherNeitherPopleNorDunningBasisSetCategorySchema = Field( + ..., title="Other (neither Pople nor Dunning) basis set category schema" + ) + """ + Used to categorize entities such as models and methods + """ + parameters: Optional[Parameters] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + + +class AoBasisOther(BaseModel): + basisSlug: Optional[BasisSlug] = None diff --git a/dist/py/methods_directory/physical/ao/pople.py b/dist/py/methods_directory/physical/ao/pople.py new file mode 100644 index 000000000..82148e8f2 --- /dev/null +++ b/dist/py/methods_directory/physical/ao/pople.py @@ -0,0 +1,101 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/ao/pople.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + pople = "pople" + + +class SlugifiedEntryOrSlug201(Enum): + ao = "ao" + + +class SlugifiedEntryOrSlug202(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug203(Enum): + qm = "qm" + + +class PopleBasisSetCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug201]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug202]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug203]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class BasisSlug(Enum): + field_3_21G = "3-21G" + field_6_31G = "6-31G" + field_6_311G = "6-311G" + + +class Parameters(BaseModel): + basisSlug: Optional[BasisSlug] = None + + +class UnitMethodAoPople(BaseModel): + categories: PopleBasisSetCategorySchema = Field(..., title="Pople basis set category schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Optional[Parameters] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + + +class AoBasisPople(BaseModel): + basisSlug: Optional[BasisSlug] = None diff --git a/dist/py/methods_directory/physical/psp/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py b/dist/py/methods_directory/physical/psp/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_directory/physical/psp/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/methods_directory/physical/psp/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py b/dist/py/methods_directory/physical/psp/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py new file mode 100644 index 000000000..d17d23757 --- /dev/null +++ b/dist/py/methods_directory/physical/psp/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py @@ -0,0 +1,31 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/psp.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Unit(Enum): + Ry = "Ry" + + +class AccuracyLevel(Enum): + standard = "standard" + low = "low" + high = "high" + + +class FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs(BaseModel): + unit: Unit + """ + Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry. + """ + accuracy_level: AccuracyLevel + """ + Accuracy level determines suggested scalar value. + """ + value: float diff --git a/dist/py/methods_directory/physical/psp/__init__.py b/dist/py/methods_directory/physical/psp/__init__.py new file mode 100644 index 000000000..a89d67bf4 --- /dev/null +++ b/dist/py/methods_directory/physical/psp/__init__.py @@ -0,0 +1,211 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/psp.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, confloat, conint, constr + +from ..Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e import ( + g, +) + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + psp = "psp" + + +class SlugifiedEntryOrSlug209(Enum): + us = "us" + nc = "nc" + nc_fr = "nc-fr" + paw = "paw" + coulomb = "coulomb" + + +class SlugifiedEntryOrSlug210(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug211(Enum): + qm = "qm" + + +class PseudopotentialCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug209]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug210]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug211]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Slug(Enum): + pseudopotential = "pseudopotential" + + +class Type(Enum): + us = "us" + nc = "nc" + nc_fr = "nc-fr" + paw = "paw" + coulomb = "coulomb" + + +class ExchangeCorrelation(BaseModel): + approximation: Optional[str] = None + """ + DFT approximation + """ + functional: Optional[str] = None + """ + Exchange correlation functional + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + + +class AtomicOrbitalSchema(BaseModel): + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + orbitalIndex: Optional[conint(ge=1)] = None + principalNumber: Optional[conint(ge=1, le=7)] = None + angularMomentum: Optional[conint(ge=0, le=3)] = None + occupation: Optional[confloat(ge=0.0, le=14.0)] = None + """ + Shell occupation + """ + + +class Name(Enum): + pseudopotential = "pseudopotential" + + +class Cutoffs(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + wavefunction: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None + """ + Energy cutoff values for wavefunction plane wave expansion. + """ + density: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None + """ + Energy cutoff values for charge density plane wave expansion. + """ + + +class FileDataItem(BaseModel): + element: str + """ + chemical element + """ + hash: str + """ + MD5 hash of the pseudopotential file + """ + type: Type + source: str + """ + explains where this came from + """ + version: Optional[str] = None + """ + explains the version of where this came from + """ + exchangeCorrelation: ExchangeCorrelation + valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None + """ + contains pseudo orbital information, including orbital names and occupations + """ + path: str + """ + location of the pseudopotential file on filesystem + """ + apps: List[str] + """ + The names of the simulation engines that can use this pseudopotential, e.g. espresso + """ + filename: Optional[str] = None + """ + filename of pseudopotential file on filesystem + """ + name: Name + """ + name of the data category + """ + cutoffs: Optional[Cutoffs] = None + """ + Suggested cutoff values for wave function and charge density. + """ + + +class Source(BaseModel): + info: Optional[Dict[str, Any]] = None + type: Optional[str] = None + + +class PseudopotentialFile(BaseModel): + slug: Optional[Slug] = None + data: Optional[FileDataItem] = Field(None, title="File data item") + source: Optional[Source] = None + """ + TODO: remove in the future + """ + + +class UnitMethodPseudopotential(BaseModel): + categories: PseudopotentialCategorySchema = Field(..., title="Pseudopotential category schema") + """ + Used to categorize entities such as models and methods + """ + data: Optional[List[PseudopotentialFile]] = None + parameters: Optional[Dict[str, Any]] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/methods_directory/physical/psp/file.py b/dist/py/methods_directory/physical/psp/file.py new file mode 100644 index 000000000..cac147c3a --- /dev/null +++ b/dist/py/methods_directory/physical/psp/file.py @@ -0,0 +1,129 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/psp/file.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field, confloat, conint, constr + +from .Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e import ( + g, +) + + +class Slug(Enum): + pseudopotential = "pseudopotential" + + +class Type(Enum): + us = "us" + nc = "nc" + nc_fr = "nc-fr" + paw = "paw" + coulomb = "coulomb" + + +class ExchangeCorrelation(BaseModel): + approximation: Optional[str] = None + """ + DFT approximation + """ + functional: Optional[str] = None + """ + Exchange correlation functional + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + + +class AtomicOrbitalSchema(BaseModel): + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + orbitalIndex: Optional[conint(ge=1)] = None + principalNumber: Optional[conint(ge=1, le=7)] = None + angularMomentum: Optional[conint(ge=0, le=3)] = None + occupation: Optional[confloat(ge=0.0, le=14.0)] = None + """ + Shell occupation + """ + + +class Name(Enum): + pseudopotential = "pseudopotential" + + +class Cutoffs(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + wavefunction: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None + """ + Energy cutoff values for wavefunction plane wave expansion. + """ + density: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None + """ + Energy cutoff values for charge density plane wave expansion. + """ + + +class FileDataItem(BaseModel): + element: str + """ + chemical element + """ + hash: str + """ + MD5 hash of the pseudopotential file + """ + type: Type + source: str + """ + explains where this came from + """ + version: Optional[str] = None + """ + explains the version of where this came from + """ + exchangeCorrelation: ExchangeCorrelation + valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None + """ + contains pseudo orbital information, including orbital names and occupations + """ + path: str + """ + location of the pseudopotential file on filesystem + """ + apps: List[str] + """ + The names of the simulation engines that can use this pseudopotential, e.g. espresso + """ + filename: Optional[str] = None + """ + filename of pseudopotential file on filesystem + """ + name: Name + """ + name of the data category + """ + cutoffs: Optional[Cutoffs] = None + """ + Suggested cutoff values for wave function and charge density. + """ + + +class Source(BaseModel): + info: Optional[Dict[str, Any]] = None + type: Optional[str] = None + + +class PseudopotentialFile(BaseModel): + slug: Optional[Slug] = None + data: Optional[FileDataItem] = Field(None, title="File data item") + source: Optional[Source] = None + """ + TODO: remove in the future + """ diff --git a/dist/py/methods_directory/physical/psp/file/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py b/dist/py/methods_directory/physical/psp/file/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_directory/physical/psp/file/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/methods_directory/physical/psp/file/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py b/dist/py/methods_directory/physical/psp/file/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py new file mode 100644 index 000000000..2f704e9da --- /dev/null +++ b/dist/py/methods_directory/physical/psp/file/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py @@ -0,0 +1,31 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/psp/file.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Unit(Enum): + Ry = "Ry" + + +class AccuracyLevel(Enum): + standard = "standard" + low = "low" + high = "high" + + +class FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs(BaseModel): + unit: Unit + """ + Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry. + """ + accuracy_level: AccuracyLevel + """ + Accuracy level determines suggested scalar value. + """ + value: float diff --git a/dist/py/methods_directory/physical/psp/file_data_item.py b/dist/py/methods_directory/physical/psp/file_data_item.py new file mode 100644 index 000000000..e7ec02a95 --- /dev/null +++ b/dist/py/methods_directory/physical/psp/file_data_item.py @@ -0,0 +1,111 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/psp/file_data_item.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field, confloat, conint, constr + +from .Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e import ( + g, +) + + +class Type(Enum): + us = "us" + nc = "nc" + nc_fr = "nc-fr" + paw = "paw" + coulomb = "coulomb" + + +class ExchangeCorrelation(BaseModel): + approximation: Optional[str] = None + """ + DFT approximation + """ + functional: Optional[str] = None + """ + Exchange correlation functional + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + + +class AtomicOrbitalSchema(BaseModel): + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + orbitalIndex: Optional[conint(ge=1)] = None + principalNumber: Optional[conint(ge=1, le=7)] = None + angularMomentum: Optional[conint(ge=0, le=3)] = None + occupation: Optional[confloat(ge=0.0, le=14.0)] = None + """ + Shell occupation + """ + + +class Name(Enum): + pseudopotential = "pseudopotential" + + +class Cutoffs(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + wavefunction: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None + """ + Energy cutoff values for wavefunction plane wave expansion. + """ + density: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None + """ + Energy cutoff values for charge density plane wave expansion. + """ + + +class FileDataItem(BaseModel): + element: str + """ + chemical element + """ + hash: str + """ + MD5 hash of the pseudopotential file + """ + type: Type + source: str + """ + explains where this came from + """ + version: Optional[str] = None + """ + explains the version of where this came from + """ + exchangeCorrelation: ExchangeCorrelation + valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None + """ + contains pseudo orbital information, including orbital names and occupations + """ + path: str + """ + location of the pseudopotential file on filesystem + """ + apps: List[str] + """ + The names of the simulation engines that can use this pseudopotential, e.g. espresso + """ + filename: Optional[str] = None + """ + filename of pseudopotential file on filesystem + """ + name: Name + """ + name of the data category + """ + cutoffs: Optional[Cutoffs] = None + """ + Suggested cutoff values for wave function and charge density. + """ diff --git a/dist/py/methods_directory/physical/psp/file_data_item/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py b/dist/py/methods_directory/physical/psp/file_data_item/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/methods_directory/physical/psp/file_data_item/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/methods_directory/physical/psp/file_data_item/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py b/dist/py/methods_directory/physical/psp/file_data_item/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py new file mode 100644 index 000000000..7a4b0b4ab --- /dev/null +++ b/dist/py/methods_directory/physical/psp/file_data_item/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py @@ -0,0 +1,31 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/psp/file_data_item.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Unit(Enum): + Ry = "Ry" + + +class AccuracyLevel(Enum): + standard = "standard" + low = "low" + high = "high" + + +class FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs(BaseModel): + unit: Unit + """ + Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry. + """ + accuracy_level: AccuracyLevel + """ + Accuracy level determines suggested scalar value. + """ + value: float diff --git a/dist/py/methods_directory/physical/pw.py b/dist/py/methods_directory/physical/pw.py new file mode 100644 index 000000000..1211d53ba --- /dev/null +++ b/dist/py/methods_directory/physical/pw.py @@ -0,0 +1,83 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/pw.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + pw = "pw" + + +class SlugifiedEntryOrSlug217(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug218(Enum): + qm = "qm" + + +class PlaneWaveCatgeorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug217]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug218]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class UnitMethodPlaneWave(BaseModel): + categories: PlaneWaveCatgeorySchema = Field(..., title="Plane wave catgeory schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Optional[Dict[str, Any]] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/methods_directory/physical/smearing.py b/dist/py/methods_directory/physical/smearing.py new file mode 100644 index 000000000..8d8757849 --- /dev/null +++ b/dist/py/methods_directory/physical/smearing.py @@ -0,0 +1,90 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/smearing.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + smearing = "smearing" + + +class SlugifiedEntryOrSlug243(Enum): + gaussian = "gaussian" + marzari_vanderbilt = "marzari-vanderbilt" + methfessel_paxton = "methfessel-paxton" + fermi_dirac = "fermi-dirac" + + +class SlugifiedEntryOrSlug244(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug245(Enum): + qm = "qm" + + +class SmearingMethodsCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug243]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug244]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug245]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class UnitMethodSmearing(BaseModel): + categories: SmearingMethodsCategorySchema = Field(..., title="Smearing methods category schema") + """ + Approximating Heaviside step function with smooth function + """ + parameters: Optional[Dict[str, Any]] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/methods_directory/physical/tetrahedron.py b/dist/py/methods_directory/physical/tetrahedron.py new file mode 100644 index 000000000..dfaaaa797 --- /dev/null +++ b/dist/py/methods_directory/physical/tetrahedron.py @@ -0,0 +1,91 @@ +# generated by datamodel-codegen: +# filename: methods_directory/physical/tetrahedron.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + tetrahedron = "tetrahedron" + + +class SlugifiedEntryOrSlug261(Enum): + linear = "linear" + optimized = "optimized" + bloechl = "bloechl" + + +class SlugifiedEntryOrSlug262(Enum): + wf = "wf" + + +class SlugifiedEntryOrSlug263(Enum): + qm = "qm" + + +class TetrahedronMethodForBrillouinZoneIntegrationCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug261]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug262]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug263]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class UnitMethodTetrahedron(BaseModel): + categories: TetrahedronMethodForBrillouinZoneIntegrationCategorySchema = Field( + ..., title="Tetrahedron method for Brillouin zone integration category schema" + ) + """ + Used to categorize entities such as models and methods + """ + parameters: Optional[Dict[str, Any]] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/model/__init__.py b/dist/py/model/__init__.py new file mode 100644 index 000000000..e9fc87cc7 --- /dev/null +++ b/dist/py/model/__init__.py @@ -0,0 +1,43 @@ +# generated by datamodel-codegen: +# filename: model.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class BaseMethod(BaseModel): + type: str + """ + general type of this method, eg. `pseudopotential` + """ + subtype: str + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ + + +class BaseModel1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: str + """ + general type of the model, eg. `dft` + """ + subtype: str + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") diff --git a/dist/py/model/categorized_model.py b/dist/py/model/categorized_model.py new file mode 100644 index 000000000..2affe495a --- /dev/null +++ b/dist/py/model/categorized_model.py @@ -0,0 +1,211 @@ +# generated by datamodel-codegen: +# filename: model/categorized_model.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class ReusableCategoriesSchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class CategorizedUnitMethod(BaseModel): + categories: Optional[ReusableCategoriesSchema] = Field(None, title="Reusable categories schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Optional[Dict[str, Any]] = None + """ + Instructive parameters defining the method + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + + +class CategorizedMethod(BaseModel): + units: List[CategorizedUnitMethod] + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + + +class ReusableCategoriesSchema3(BaseModel): + tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Type(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class CategorizedModel(BaseModel): + method: CategorizedMethod = Field(..., title="categorized method") + categories: ReusableCategoriesSchema3 = Field(..., title="Reusable categories schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Dict[str, Any] + """ + Model parameters defined in-place or via model mixins + """ + reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/model/mixins/__init__.py b/dist/py/model/mixins/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/model/mixins/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/model/mixins/dft/__init__.py b/dist/py/model/mixins/dft/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/model/mixins/dft/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/model/mixins/dft/double_hybrid_functional.py b/dist/py/model/mixins/dft/double_hybrid_functional.py new file mode 100644 index 000000000..3ea64805f --- /dev/null +++ b/dist/py/model/mixins/dft/double_hybrid_functional.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: model/mixins/dft/double_hybrid_functional.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Functional(Enum): + b2plyp = "b2plyp" + + +class DoubleHybridFunctionalMixin(BaseModel): + functional: Optional[Functional] = None diff --git a/dist/py/model/mixins/dft/enum_options.py b/dist/py/model/mixins/dft/enum_options.py new file mode 100644 index 000000000..6e5a00ec8 --- /dev/null +++ b/dist/py/model/mixins/dft/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: model/mixins/dft/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/model/mixins/dft/gga_functional.py b/dist/py/model/mixins/dft/gga_functional.py new file mode 100644 index 000000000..03c6b8c4a --- /dev/null +++ b/dist/py/model/mixins/dft/gga_functional.py @@ -0,0 +1,22 @@ +# generated by datamodel-codegen: +# filename: model/mixins/dft/gga_functional.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, ConfigDict + + +class Functional(Enum): + pbe = "pbe" + pbesol = "pbesol" + + +class GGAFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None diff --git a/dist/py/model/mixins/dft/hybrid_functional.py b/dist/py/model/mixins/dft/hybrid_functional.py new file mode 100644 index 000000000..6fc49bbf6 --- /dev/null +++ b/dist/py/model/mixins/dft/hybrid_functional.py @@ -0,0 +1,19 @@ +# generated by datamodel-codegen: +# filename: model/mixins/dft/hybrid_functional.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Functional(Enum): + hse06 = "hse06" + b3lyp = "b3lyp" + + +class HybridFunctionalMixin(BaseModel): + functional: Optional[Functional] = None diff --git a/dist/py/model/mixins/dft/lda_functional.py b/dist/py/model/mixins/dft/lda_functional.py new file mode 100644 index 000000000..88e9f28c7 --- /dev/null +++ b/dist/py/model/mixins/dft/lda_functional.py @@ -0,0 +1,21 @@ +# generated by datamodel-codegen: +# filename: model/mixins/dft/lda_functional.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, ConfigDict + + +class Functional(Enum): + pz = "pz" + + +class LDAFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None diff --git a/dist/py/model/mixins/dft/mgga_functional.py b/dist/py/model/mixins/dft/mgga_functional.py new file mode 100644 index 000000000..801a5b4e3 --- /dev/null +++ b/dist/py/model/mixins/dft/mgga_functional.py @@ -0,0 +1,21 @@ +# generated by datamodel-codegen: +# filename: model/mixins/dft/mgga_functional.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, ConfigDict + + +class Functional(Enum): + scan = "scan" + + +class MetaGGAFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None diff --git a/dist/py/model/mixins/dispersion_correction.py b/dist/py/model/mixins/dispersion_correction.py new file mode 100644 index 000000000..fc32da5e3 --- /dev/null +++ b/dist/py/model/mixins/dispersion_correction.py @@ -0,0 +1,21 @@ +# generated by datamodel-codegen: +# filename: model/mixins/dispersion_correction.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class DispersionCorrection(Enum): + dft_d2 = "dft-d2" + dft_d3 = "dft-d3" + xdm = "xdm" + ts = "ts" + + +class DispersionCorrectionMixin(BaseModel): + dispersionCorrection: Optional[DispersionCorrection] = None diff --git a/dist/py/model/mixins/enum_options.py b/dist/py/model/mixins/enum_options.py new file mode 100644 index 000000000..f903e33ab --- /dev/null +++ b/dist/py/model/mixins/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: model/mixins/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/model/mixins/hubbard.py b/dist/py/model/mixins/hubbard.py new file mode 100644 index 000000000..3d44d1b5b --- /dev/null +++ b/dist/py/model/mixins/hubbard.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: model/mixins/hubbard.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class HubbardType(Enum): + u = "u" + + +class HubbardModelMixin(BaseModel): + hubbardType: Optional[HubbardType] = None diff --git a/dist/py/model/mixins/spin_orbit_coupling.py b/dist/py/model/mixins/spin_orbit_coupling.py new file mode 100644 index 000000000..7574ff899 --- /dev/null +++ b/dist/py/model/mixins/spin_orbit_coupling.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: model/mixins/spin_orbit_coupling.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, ConfigDict + + +class SpinOrbitCouplingMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + spinOrbitCoupling: Optional[bool] = None diff --git a/dist/py/model/mixins/spin_polarization.py b/dist/py/model/mixins/spin_polarization.py new file mode 100644 index 000000000..5d6ba2cae --- /dev/null +++ b/dist/py/model/mixins/spin_polarization.py @@ -0,0 +1,22 @@ +# generated by datamodel-codegen: +# filename: model/mixins/spin_polarization.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, ConfigDict + + +class SpinPolarization(Enum): + collinear = "collinear" + non_collinear = "non-collinear" + + +class SpinPolarizationMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + spinPolarization: Optional[SpinPolarization] = None diff --git a/dist/py/model/model_parameters.py b/dist/py/model/model_parameters.py new file mode 100644 index 000000000..f5791c05c --- /dev/null +++ b/dist/py/model/model_parameters.py @@ -0,0 +1,123 @@ +# generated by datamodel-codegen: +# filename: model/model_parameters.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel + + +class HubbardType(Enum): + u = "u" + + +class SpinPolarization(Enum): + collinear = "collinear" + non_collinear = "non-collinear" + + +class DispersionCorrection(Enum): + dft_d2 = "dft-d2" + dft_d3 = "dft-d3" + xdm = "xdm" + ts = "ts" + + +class Functional(Enum): + pz = "pz" + + +class LDAFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + hubbardType: Optional[HubbardType] = None + spinPolarization: Optional[SpinPolarization] = None + spinOrbitCoupling: Optional[bool] = None + dispersionCorrection: Optional[DispersionCorrection] = None + functional: Optional[Functional] = None + + +class Functional37(Enum): + pbe = "pbe" + pbesol = "pbesol" + + +class GGAFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + hubbardType: Optional[HubbardType] = None + spinPolarization: Optional[SpinPolarization] = None + spinOrbitCoupling: Optional[bool] = None + dispersionCorrection: Optional[DispersionCorrection] = None + functional: Optional[Functional37] = None + + +class Functional38(Enum): + scan = "scan" + + +class MetaGGAFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + hubbardType: Optional[HubbardType] = None + spinPolarization: Optional[SpinPolarization] = None + spinOrbitCoupling: Optional[bool] = None + dispersionCorrection: Optional[DispersionCorrection] = None + functional: Optional[Functional38] = None + + +class Functional39(Enum): + hse06 = "hse06" + b3lyp = "b3lyp" + + +class HybridFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + hubbardType: Optional[HubbardType] = None + spinPolarization: Optional[SpinPolarization] = None + spinOrbitCoupling: Optional[bool] = None + dispersionCorrection: Optional[DispersionCorrection] = None + functional: Optional[Functional39] = None + + +class Functional40(Enum): + b2plyp = "b2plyp" + + +class DoubleHybridFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + hubbardType: Optional[HubbardType] = None + spinPolarization: Optional[SpinPolarization] = None + spinOrbitCoupling: Optional[bool] = None + dispersionCorrection: Optional[DispersionCorrection] = None + functional: Optional[Functional40] = None + + +class ESSE( + RootModel[ + Union[ + LDAFunctionalMixin, + GGAFunctionalMixin, + MetaGGAFunctionalMixin, + HybridFunctionalMixin, + DoubleHybridFunctionalMixin, + ] + ] +): + root: Union[ + LDAFunctionalMixin, + GGAFunctionalMixin, + MetaGGAFunctionalMixin, + HybridFunctionalMixin, + DoubleHybridFunctionalMixin, + ] = Field(..., title="ModelParameters") diff --git a/dist/py/model/model_without_method.py b/dist/py/model/model_without_method.py new file mode 100644 index 000000000..bd09f67e4 --- /dev/null +++ b/dist/py/model/model_without_method.py @@ -0,0 +1,144 @@ +# generated by datamodel-codegen: +# filename: model/model_without_method.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class ReusableCategoriesSchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Type(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class ModelWithoutMethodSchemaBase(BaseModel): + categories: ReusableCategoriesSchema = Field(..., title="Reusable categories schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Dict[str, Any] + """ + Model parameters defined in-place or via model mixins + """ + reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/models_category/__init__.py b/dist/py/models_category/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/models_category/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/models_category/enum_options.py b/dist/py/models_category/enum_options.py new file mode 100644 index 000000000..7db1abb8a --- /dev/null +++ b/dist/py/models_category/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: models_category/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/models_category/pb/__init__.py b/dist/py/models_category/pb/__init__.py new file mode 100644 index 000000000..7c93861c6 --- /dev/null +++ b/dist/py/models_category/pb/__init__.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: models_category/pb.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + pb = "pb" + + +class PhysicsBasedModelCategorySchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/enum_options.py b/dist/py/models_category/pb/enum_options.py new file mode 100644 index 000000000..b63f0f856 --- /dev/null +++ b/dist/py/models_category/pb/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/models_category/pb/qm/__init__.py b/dist/py/models_category/pb/qm/__init__.py new file mode 100644 index 000000000..a410c7c2f --- /dev/null +++ b/dist/py/models_category/pb/qm/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug223(Enum): + pb = "pb" + + +class QuantumMechanicalCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug223]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/qm/abin/__init__.py b/dist/py/models_category/pb/qm/abin/__init__.py new file mode 100644 index 000000000..0e2e1196a --- /dev/null +++ b/dist/py/models_category/pb/qm/abin/__init__.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/abin.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + abin = "abin" + + +class SlugifiedEntryOrSlug1(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug2(Enum): + pb = "pb" + + +class AbInitioCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug1]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug2]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/qm/abin/enum_options.py b/dist/py/models_category/pb/qm/abin/enum_options.py new file mode 100644 index 000000000..27a78ed8b --- /dev/null +++ b/dist/py/models_category/pb/qm/abin/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/abin/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/models_category/pb/qm/abin/gw.py b/dist/py/models_category/pb/qm/abin/gw.py new file mode 100644 index 000000000..90df3b0a6 --- /dev/null +++ b/dist/py/models_category/pb/qm/abin/gw.py @@ -0,0 +1,66 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/abin/gw.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + gw = "gw" + + +class SlugifiedEntryOrSlug91(Enum): + g0w0 = "g0w0" + evgw0 = "evgw0" + evgw = "evgw" + + +class SlugifiedEntryOrSlug92(Enum): + abin = "abin" + + +class SlugifiedEntryOrSlug93(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug94(Enum): + pb = "pb" + + +class GWCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug91]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug92]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug93]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug94]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/qm/dft/__init__.py b/dist/py/models_category/pb/qm/dft/__init__.py new file mode 100644 index 000000000..dc3319917 --- /dev/null +++ b/dist/py/models_category/pb/qm/dft/__init__.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/dft.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug40(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug41(Enum): + pb = "pb" + + +class DensityFunctionalTheoryCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug40]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug41]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/qm/dft/enum_options.py b/dist/py/models_category/pb/qm/dft/enum_options.py new file mode 100644 index 000000000..463511212 --- /dev/null +++ b/dist/py/models_category/pb/qm/dft/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/dft/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/models_category/pb/qm/dft/ksdft/__init__.py b/dist/py/models_category/pb/qm/dft/ksdft/__init__.py new file mode 100644 index 000000000..b57e8d823 --- /dev/null +++ b/dist/py/models_category/pb/qm/dft/ksdft/__init__.py @@ -0,0 +1,60 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/dft/ksdft.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug120(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug121(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug122(Enum): + pb = "pb" + + +class KohnShamDFTCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug120]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug121]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug122]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/qm/dft/ksdft/double_hybrid.py b/dist/py/models_category/pb/qm/dft/ksdft/double_hybrid.py new file mode 100644 index 000000000..b46a09c40 --- /dev/null +++ b/dist/py/models_category/pb/qm/dft/ksdft/double_hybrid.py @@ -0,0 +1,64 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/dft/ksdft/double_hybrid.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + double_hybrid = "double-hybrid" + + +class SlugifiedEntryOrSlug54(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug55(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug56(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug57(Enum): + pb = "pb" + + +class DFTDoubleHybridFunctionalCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug54]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug55]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug56]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug57]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/qm/dft/ksdft/enum_options.py b/dist/py/models_category/pb/qm/dft/ksdft/enum_options.py new file mode 100644 index 000000000..118c356f4 --- /dev/null +++ b/dist/py/models_category/pb/qm/dft/ksdft/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/dft/ksdft/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/models_category/pb/qm/dft/ksdft/gga.py b/dist/py/models_category/pb/qm/dft/ksdft/gga.py new file mode 100644 index 000000000..006c63520 --- /dev/null +++ b/dist/py/models_category/pb/qm/dft/ksdft/gga.py @@ -0,0 +1,64 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/dft/ksdft/gga.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + gga = "gga" + + +class SlugifiedEntryOrSlug81(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug82(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug83(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug84(Enum): + pb = "pb" + + +class DFTGGAFunctionalCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug81]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug82]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug83]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug84]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/qm/dft/ksdft/hybrid.py b/dist/py/models_category/pb/qm/dft/ksdft/hybrid.py new file mode 100644 index 000000000..7648baf0e --- /dev/null +++ b/dist/py/models_category/pb/qm/dft/ksdft/hybrid.py @@ -0,0 +1,64 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/dft/ksdft/hybrid.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + hybrid = "hybrid" + + +class SlugifiedEntryOrSlug101(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug102(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug103(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug104(Enum): + pb = "pb" + + +class DFTHybridFunctionalCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug101]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug102]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug103]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug104]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/qm/dft/ksdft/lda.py b/dist/py/models_category/pb/qm/dft/ksdft/lda.py new file mode 100644 index 000000000..621c673d1 --- /dev/null +++ b/dist/py/models_category/pb/qm/dft/ksdft/lda.py @@ -0,0 +1,64 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/dft/ksdft/lda.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + lda = "lda" + + +class SlugifiedEntryOrSlug124(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug125(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug126(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug127(Enum): + pb = "pb" + + +class DFTLDAFunctionalCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug124]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug125]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug126]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug127]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/qm/dft/ksdft/mgga.py b/dist/py/models_category/pb/qm/dft/ksdft/mgga.py new file mode 100644 index 000000000..432366ef8 --- /dev/null +++ b/dist/py/models_category/pb/qm/dft/ksdft/mgga.py @@ -0,0 +1,64 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/dft/ksdft/mgga.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + mgga = "mgga" + + +class SlugifiedEntryOrSlug147(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug148(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug149(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug150(Enum): + pb = "pb" + + +class DFTMetaGGAFunctionalCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug147]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug148]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug149]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug150]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/pb/qm/enum_options.py b/dist/py/models_category/pb/qm/enum_options.py new file mode 100644 index 000000000..4ed5f5040 --- /dev/null +++ b/dist/py/models_category/pb/qm/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/models_category/pb/qm/semp.py b/dist/py/models_category/pb/qm/semp.py new file mode 100644 index 000000000..f5bd12572 --- /dev/null +++ b/dist/py/models_category/pb/qm/semp.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: models_category/pb/qm/semp.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + semp = "semp" + + +class SlugifiedEntryOrSlug240(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug241(Enum): + pb = "pb" + + +class SemiEmpiricalCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug240]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug241]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/st/__init__.py b/dist/py/models_category/st/__init__.py new file mode 100644 index 000000000..5e09db9a0 --- /dev/null +++ b/dist/py/models_category/st/__init__.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: models_category/st.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + st = "st" + + +class StatisticalModelCategorySchema(BaseModel): + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/st/det/__init__.py b/dist/py/models_category/st/det/__init__.py new file mode 100644 index 000000000..06c5ecfa4 --- /dev/null +++ b/dist/py/models_category/st/det/__init__.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: models_category/st/det.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + det = "det" + + +class SlugifiedEntryOrSlug38(Enum): + st = "st" + + +class DeterministicModelCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug38]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/st/det/enum_options.py b/dist/py/models_category/st/det/enum_options.py new file mode 100644 index 000000000..a97a54522 --- /dev/null +++ b/dist/py/models_category/st/det/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: models_category/st/det/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/models_category/st/det/ml/__init__.py b/dist/py/models_category/st/det/ml/__init__.py new file mode 100644 index 000000000..af7e0a4df --- /dev/null +++ b/dist/py/models_category/st/det/ml/__init__.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: models_category/st/det/ml.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + ml = "ml" + + +class SlugifiedEntryOrSlug157(Enum): + det = "det" + + +class SlugifiedEntryOrSlug158(Enum): + st = "st" + + +class MachineLearningModelCategorySchema(BaseModel): + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug157]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug158]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/st/det/ml/enum_options.py b/dist/py/models_category/st/det/ml/enum_options.py new file mode 100644 index 000000000..11b68b5dd --- /dev/null +++ b/dist/py/models_category/st/det/ml/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: models_category/st/det/ml/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/models_category/st/det/ml/re.py b/dist/py/models_category/st/det/ml/re.py new file mode 100644 index 000000000..91abc1caa --- /dev/null +++ b/dist/py/models_category/st/det/ml/re.py @@ -0,0 +1,60 @@ +# generated by datamodel-codegen: +# filename: models_category/st/det/ml/re.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + re = "re" + + +class SlugifiedEntryOrSlug226(Enum): + ml = "ml" + + +class SlugifiedEntryOrSlug227(Enum): + det = "det" + + +class SlugifiedEntryOrSlug228(Enum): + st = "st" + + +class RegressionModelCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug226]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug227]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug228]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/dist/py/models_category/st/enum_options.py b/dist/py/models_category/st/enum_options.py new file mode 100644 index 000000000..65e76fa60 --- /dev/null +++ b/dist/py/models_category/st/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: models_category/st/enum_options.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any + +from pydantic import RootModel + + +class ESSE(RootModel[Any]): + root: Any diff --git a/dist/py/models_directory/__init__.py b/dist/py/models_directory/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/models_directory/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/models_directory/double_hybrid.py b/dist/py/models_directory/double_hybrid.py new file mode 100644 index 000000000..4100b2a68 --- /dev/null +++ b/dist/py/models_directory/double_hybrid.py @@ -0,0 +1,205 @@ +# generated by datamodel-codegen: +# filename: models_directory/double_hybrid.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + double_hybrid = "double-hybrid" + + +class SlugifiedEntryOrSlug59(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug60(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug61(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug62(Enum): + pb = "pb" + + +class DFTDoubleHybridFunctionalCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug59]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug60]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug61]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug62]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Functional(Enum): + b2plyp = "b2plyp" + + +class SpinOrbitCouplingMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + spinOrbitCoupling: Optional[bool] = None + + +class DispersionCorrection(Enum): + dft_d2 = "dft-d2" + dft_d3 = "dft-d3" + xdm = "xdm" + ts = "ts" + + +class DispersionCorrectionMixin(BaseModel): + functional: Optional[Functional] = None + dispersionCorrection: Optional[DispersionCorrection] = None + + +class SpinPolarization(Enum): + collinear = "collinear" + non_collinear = "non-collinear" + + +class SpinPolarizationMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + spinPolarization: Optional[SpinPolarization] = None + + +class Type(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class ModelDoubleHybridFunctional(BaseModel): + categories: DFTDoubleHybridFunctionalCategorySchema = Field( + ..., title="DFT double hybrid functional category schema" + ) + """ + Used to categorize entities such as models and methods + """ + parameters: Union[SpinOrbitCouplingMixin, DispersionCorrectionMixin, SpinPolarizationMixin] = Field( + ..., title="Double hybrid functional mixin" + ) + """ + Model parameters defined in-place or via model mixins + """ + reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/models_directory/gga.py b/dist/py/models_directory/gga.py new file mode 100644 index 000000000..3fc490c34 --- /dev/null +++ b/dist/py/models_directory/gga.py @@ -0,0 +1,219 @@ +# generated by datamodel-codegen: +# filename: models_directory/gga.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + gga = "gga" + + +class SlugifiedEntryOrSlug86(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug87(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug88(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug89(Enum): + pb = "pb" + + +class DFTGGAFunctionalCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug86]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug87]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug88]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug89]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Functional(Enum): + pbe = "pbe" + pbesol = "pbesol" + + +class SpinOrbitCouplingMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + spinOrbitCoupling: Optional[bool] = None + + +class DispersionCorrection(Enum): + dft_d2 = "dft-d2" + dft_d3 = "dft-d3" + xdm = "xdm" + ts = "ts" + + +class DispersionCorrectionMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + dispersionCorrection: Optional[DispersionCorrection] = None + + +class SpinPolarization(Enum): + collinear = "collinear" + non_collinear = "non-collinear" + + +class SpinPolarizationMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + spinPolarization: Optional[SpinPolarization] = None + + +class HubbardType(Enum): + u = "u" + + +class HubbardModelMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + hubbardType: Optional[HubbardType] = None + + +class Type(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class ModelGeneralizedGradientApproximation(BaseModel): + categories: DFTGGAFunctionalCategorySchema = Field(..., title="DFT GGA functional category schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Union[SpinOrbitCouplingMixin, DispersionCorrectionMixin, SpinPolarizationMixin, HubbardModelMixin] = ( + Field(..., title="GGA functional mixin") + ) + """ + Model parameters defined in-place or via model mixins + """ + reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/models_directory/gw.py b/dist/py/models_directory/gw.py new file mode 100644 index 000000000..02b72a24a --- /dev/null +++ b/dist/py/models_directory/gw.py @@ -0,0 +1,272 @@ +# generated by datamodel-codegen: +# filename: models_directory/gw.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + gw = "gw" + + +class SlugifiedEntryOrSlug96(Enum): + g0w0 = "g0w0" + evgw0 = "evgw0" + evgw = "evgw" + + +class SlugifiedEntryOrSlug97(Enum): + abin = "abin" + + +class SlugifiedEntryOrSlug98(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug99(Enum): + pb = "pb" + + +class GWCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug96]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug97]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug98]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug99]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SpinPolarization(Enum): + collinear = "collinear" + non_collinear = "non-collinear" + + +class Functional(Enum): + pz = "pz" + + +class LDAFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + require: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + spinPolarization: Optional[SpinPolarization] = None + functional: Optional[Functional] = None + + +class Functional16(Enum): + pbe = "pbe" + pbesol = "pbesol" + + +class GGAFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + require: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + spinPolarization: Optional[SpinPolarization] = None + functional: Optional[Functional16] = None + + +class Functional17(Enum): + scan = "scan" + + +class MetaGGAFunctionalMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + require: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + spinPolarization: Optional[SpinPolarization] = None + functional: Optional[Functional17] = None + + +class Functional18(Enum): + pz = "pz" + + +class LDAFunctionalMixin1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + require: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + spinOrbitCoupling: Optional[bool] = None + functional: Optional[Functional18] = None + + +class Functional19(Enum): + pbe = "pbe" + pbesol = "pbesol" + + +class GGAFunctionalMixin2(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + require: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + spinOrbitCoupling: Optional[bool] = None + functional: Optional[Functional19] = None + + +class Functional20(Enum): + scan = "scan" + + +class MetaGGAFunctionalMixin1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + require: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + spinOrbitCoupling: Optional[bool] = None + functional: Optional[Functional20] = None + + +class Type(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class ModelGwApproximation(BaseModel): + categories: GWCategorySchema = Field(..., title="GW category schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Union[ + Union[LDAFunctionalMixin, GGAFunctionalMixin, MetaGGAFunctionalMixin], + Union[LDAFunctionalMixin1, GGAFunctionalMixin2, MetaGGAFunctionalMixin1], + ] + """ + Model parameters defined in-place or via model mixins + """ + reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/models_directory/hybrid.py b/dist/py/models_directory/hybrid.py new file mode 100644 index 000000000..a7b46b54c --- /dev/null +++ b/dist/py/models_directory/hybrid.py @@ -0,0 +1,213 @@ +# generated by datamodel-codegen: +# filename: models_directory/hybrid.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + hybrid = "hybrid" + + +class SlugifiedEntryOrSlug109(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug110(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug111(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug112(Enum): + pb = "pb" + + +class DFTHybridFunctionalCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug109]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug110]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug111]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug112]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Functional(Enum): + hse06 = "hse06" + b3lyp = "b3lyp" + + +class SpinOrbitCouplingMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + spinOrbitCoupling: Optional[bool] = None + + +class DispersionCorrection(Enum): + dft_d2 = "dft-d2" + dft_d3 = "dft-d3" + xdm = "xdm" + ts = "ts" + + +class DispersionCorrectionMixin(BaseModel): + functional: Optional[Functional] = None + dispersionCorrection: Optional[DispersionCorrection] = None + + +class SpinPolarization(Enum): + collinear = "collinear" + non_collinear = "non-collinear" + + +class SpinPolarizationMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + spinPolarization: Optional[SpinPolarization] = None + + +class HubbardType(Enum): + u = "u" + + +class HubbardModelMixin(BaseModel): + functional: Optional[Functional] = None + hubbardType: Optional[HubbardType] = None + + +class Type(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class ModelHybridFunctional(BaseModel): + categories: DFTHybridFunctionalCategorySchema = Field(..., title="DFT hybrid functional category schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Union[SpinOrbitCouplingMixin, DispersionCorrectionMixin, SpinPolarizationMixin, HubbardModelMixin] = ( + Field(..., title="Hybrid functional mixin") + ) + """ + Model parameters defined in-place or via model mixins + """ + reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/models_directory/lda.py b/dist/py/models_directory/lda.py new file mode 100644 index 000000000..8ff3d3c4a --- /dev/null +++ b/dist/py/models_directory/lda.py @@ -0,0 +1,218 @@ +# generated by datamodel-codegen: +# filename: models_directory/lda.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + lda = "lda" + + +class SlugifiedEntryOrSlug129(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug130(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug131(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug132(Enum): + pb = "pb" + + +class DFTLDAFunctionalCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug129]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug130]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug131]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug132]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Functional(Enum): + pz = "pz" + + +class SpinOrbitCouplingMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + spinOrbitCoupling: Optional[bool] = None + + +class DispersionCorrection(Enum): + dft_d2 = "dft-d2" + dft_d3 = "dft-d3" + xdm = "xdm" + ts = "ts" + + +class DispersionCorrectionMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + dispersionCorrection: Optional[DispersionCorrection] = None + + +class SpinPolarization(Enum): + collinear = "collinear" + non_collinear = "non-collinear" + + +class SpinPolarizationMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + spinPolarization: Optional[SpinPolarization] = None + + +class HubbardType(Enum): + u = "u" + + +class HubbardModelMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + hubbardType: Optional[HubbardType] = None + + +class Type(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class ModelLocalDensityApproximation(BaseModel): + categories: DFTLDAFunctionalCategorySchema = Field(..., title="DFT LDA functional category schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Union[SpinOrbitCouplingMixin, DispersionCorrectionMixin, SpinPolarizationMixin, HubbardModelMixin] = ( + Field(..., title="LDA functional mixin") + ) + """ + Model parameters defined in-place or via model mixins + """ + reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/models_directory/legacy/__init__.py b/dist/py/models_directory/legacy/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/models_directory/legacy/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/models_directory/legacy/dft.py b/dist/py/models_directory/legacy/dft.py new file mode 100644 index 000000000..f5be40f90 --- /dev/null +++ b/dist/py/models_directory/legacy/dft.py @@ -0,0 +1,142 @@ +# generated by datamodel-codegen: +# filename: models_directory/legacy/dft.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, Literal, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel + + +class BaseMethod(BaseModel): + type: str + """ + general type of this method, eg. `pseudopotential` + """ + subtype: str + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ + + +class Functional(Enum): + pz = "pz" + pw = "pw" + vwn = "vwn" + other = "other" + + +class LegacyModelDensityFunctionalTheory(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: Literal["dft"] + """ + general type of the model, eg. `dft` + """ + subtype: Literal["lda"] + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") + functional: Optional[Functional] = None + + +class Functional1(Enum): + pbe = "pbe" + pbesol = "pbesol" + pw91 = "pw91" + other = "other" + + +class LegacyModelDensityFunctionalTheory1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: Literal["dft"] + """ + general type of the model, eg. `dft` + """ + subtype: Literal["gga"] + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") + functional: Optional[Functional1] = None + + +class Functional2(Enum): + b3lyp = "b3lyp" + hse06 = "hse06" + + +class LegacyModelDensityFunctionalTheory2(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: Literal["dft"] + """ + general type of the model, eg. `dft` + """ + subtype: Literal["hybrid"] + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") + functional: Optional[Functional2] = None + + +class ESSE( + RootModel[ + Union[ + LegacyModelDensityFunctionalTheory, LegacyModelDensityFunctionalTheory1, LegacyModelDensityFunctionalTheory2 + ] + ] +): + root: Union[ + LegacyModelDensityFunctionalTheory, LegacyModelDensityFunctionalTheory1, LegacyModelDensityFunctionalTheory2 + ] = Field(..., title="legacy model density functional theory") + + +class Functional3(Enum): + pz = "pz" + pw = "pw" + vwn = "vwn" + other = "other" + + +class Lda(BaseModel): + subtype: Literal["lda"] = "lda" + functional: Optional[Functional3] = None + + +class Functional4(Enum): + pbe = "pbe" + pbesol = "pbesol" + pw91 = "pw91" + other = "other" + + +class Gga(BaseModel): + subtype: Literal["gga"] = "gga" + functional: Optional[Functional4] = None + + +class Functional5(Enum): + b3lyp = "b3lyp" + hse06 = "hse06" + + +class Hybrid(BaseModel): + subtype: Literal["hybrid"] = "hybrid" + functional: Optional[Functional5] = None diff --git a/dist/py/models_directory/legacy/ml.py b/dist/py/models_directory/legacy/ml.py new file mode 100644 index 000000000..98d083a89 --- /dev/null +++ b/dist/py/models_directory/legacy/ml.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: models_directory/legacy/ml.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class Type(Enum): + ml = "ml" + + +class Subtype(Enum): + re = "re" + + +class BaseMethod(BaseModel): + type: str + """ + general type of this method, eg. `pseudopotential` + """ + subtype: str + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ + + +class LegacyModelRegression(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: Type + """ + general type of the model, eg. `dft` + """ + subtype: Subtype + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") diff --git a/dist/py/models_directory/legacy/unknown.py b/dist/py/models_directory/legacy/unknown.py new file mode 100644 index 000000000..b590e09f7 --- /dev/null +++ b/dist/py/models_directory/legacy/unknown.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: models_directory/legacy/unknown.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class Type(Enum): + unknown = "unknown" + + +class Subtype(Enum): + unknown = "unknown" + + +class BaseMethod(BaseModel): + type: str + """ + general type of this method, eg. `pseudopotential` + """ + subtype: str + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ + + +class LegacyModelUnknown(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: Type + """ + general type of the model, eg. `dft` + """ + subtype: Subtype + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") diff --git a/dist/py/models_directory/mgga.py b/dist/py/models_directory/mgga.py new file mode 100644 index 000000000..5f66db265 --- /dev/null +++ b/dist/py/models_directory/mgga.py @@ -0,0 +1,218 @@ +# generated by datamodel-codegen: +# filename: models_directory/mgga.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + mgga = "mgga" + + +class SlugifiedEntryOrSlug152(Enum): + ksdft = "ksdft" + + +class SlugifiedEntryOrSlug153(Enum): + dft = "dft" + + +class SlugifiedEntryOrSlug154(Enum): + qm = "qm" + + +class SlugifiedEntryOrSlug155(Enum): + pb = "pb" + + +class DFTMetaGGAFunctionalCategorySchema(BaseModel): + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug152]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug153]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug154]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug155]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Functional(Enum): + scan = "scan" + + +class SpinOrbitCouplingMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + spinOrbitCoupling: Optional[bool] = None + + +class DispersionCorrection(Enum): + dft_d2 = "dft-d2" + dft_d3 = "dft-d3" + xdm = "xdm" + ts = "ts" + + +class DispersionCorrectionMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + dispersionCorrection: Optional[DispersionCorrection] = None + + +class SpinPolarization(Enum): + collinear = "collinear" + non_collinear = "non-collinear" + + +class SpinPolarizationMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + spinPolarization: Optional[SpinPolarization] = None + + +class HubbardType(Enum): + u = "u" + + +class HubbardModelMixin(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + functional: Optional[Functional] = None + hubbardType: Optional[HubbardType] = None + + +class Type(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class ModelMetaGeneralizedGradientApproximation(BaseModel): + categories: DFTMetaGGAFunctionalCategorySchema = Field(..., title="DFT meta-GGA functional category schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Union[SpinOrbitCouplingMixin, DispersionCorrectionMixin, SpinPolarizationMixin, HubbardModelMixin] = ( + Field(..., title="Meta-GGA functional mixin") + ) + """ + Model parameters defined in-place or via model mixins + """ + reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/models_directory/re.py b/dist/py/models_directory/re.py new file mode 100644 index 000000000..06a342232 --- /dev/null +++ b/dist/py/models_directory/re.py @@ -0,0 +1,160 @@ +# generated by datamodel-codegen: +# filename: models_directory/re.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + re = "re" + + +class SlugifiedEntryOrSlug230(Enum): + ml = "ml" + + +class SlugifiedEntryOrSlug231(Enum): + det = "det" + + +class SlugifiedEntryOrSlug232(Enum): + st = "st" + + +class RegressionModelCategorySchema(BaseModel): + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug230]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug231]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug232]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Type(Enum): + literature = "literature" + + +class PagesSchema(BaseModel): + start: str + end: Optional[str] = None + + +class ExperimentAuthorSchema(BaseModel): + first: str + middle: Optional[str] = None + last: str + affiliation: Optional[str] = None + + +class LiteratureReferenceSchema(BaseModel): + type: Optional[Type] = None + doi: Optional[str] = None + """ + Digital Object Identifier of the reference. + """ + isbn: Optional[str] = None + """ + International Standard Book Number of the reference. + """ + issn: Optional[str] = None + """ + International Standard Serial Number of the reference. + """ + url: Optional[str] = None + """ + Internet address of the reference. + """ + title: Optional[str] = None + """ + Title of the work. + """ + publisher: Optional[str] = None + """ + Publisher of the work. + """ + journal: Optional[str] = None + """ + Journal in which the work appeared. + """ + volume: Optional[str] = None + """ + Volume of the series in which the work appeared. + """ + year: Optional[str] = None + """ + Year in which the reference was published. + """ + issue: Optional[str] = None + """ + Issue of the collection in which the work appeared. + """ + pages: Optional[PagesSchema] = Field(None, title="pages schema") + """ + Start and end pages of the work. + """ + authors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of authors of the work. + """ + editors: Optional[List[ExperimentAuthorSchema]] = None + """ + List of editors of the work. + """ + reference: Optional[List[Dict[str, Any]]] = None + """ + References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. + """ + + +class ModelRegression(BaseModel): + categories: RegressionModelCategorySchema = Field(..., title="regression model category schema") + """ + Used to categorize entities such as models and methods + """ + parameters: Dict[str, Any] + """ + Model parameters defined in-place or via model mixins + """ + reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/project.py b/dist/py/project.py new file mode 100644 index 000000000..eef937752 --- /dev/null +++ b/dist/py/project.py @@ -0,0 +1,49 @@ +# generated by datamodel-codegen: +# filename: project.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, Field + + +class ClusterBasedChargeRate(BaseModel): + rate: Optional[float] = None + timestamp: Optional[float] = None + hostname: Optional[str] = None + + +class ProjectSchema(BaseModel): + gid: Optional[float] = None + """ + project GID + """ + clusterBasedChargeRates: Optional[List[ClusterBasedChargeRate]] = None + """ + charge rates info for project + """ + isExternal: Optional[bool] = False + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + metadata: Optional[Dict[str, Any]] = None diff --git a/dist/py/properties_directory/__init__.py b/dist/py/properties_directory/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/properties_directory/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/src/py/mat3ra/esse/models/properties_directory/derived_properties_item.py b/dist/py/properties_directory/derived_properties.py similarity index 80% rename from src/py/mat3ra/esse/models/properties_directory/derived_properties_item.py rename to dist/py/properties_directory/derived_properties.py index af1d66eb6..5d6975346 100644 --- a/src/py/mat3ra/esse/models/properties_directory/derived_properties_item.py +++ b/dist/py/properties_directory/derived_properties.py @@ -1,11 +1,11 @@ # generated by datamodel-codegen: -# filename: properties_directory/derived_properties_item.json -# version: 0.33.0 +# filename: properties_directory/derived_properties.json +# version: 0.28.5 from __future__ import annotations from enum import Enum -from typing import Literal, Optional, Union +from typing import List, Literal, Optional, Union from pydantic import BaseModel, Field, RootModel, confloat @@ -24,30 +24,30 @@ class VolumeSchema(BaseModel): value: float -class Name459(Enum): +class Name454(Enum): density = "density" -class Units181(Enum): +class Units178(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units181] = None + units: Optional[Units178] = None value: float -class Units182(Enum): +class Units179(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units182] = None + units: Optional[Units179] = None value: float -class Name460(Enum): +class Name455(Enum): symmetry = "symmetry" @@ -67,7 +67,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name461(Enum): +class Name456(Enum): elemental_ratio = "elemental_ratio" @@ -80,7 +80,7 @@ class ElementalRatio(BaseModel): """ -class Name462(Enum): +class Name457(Enum): p_norm = "p-norm" @@ -93,7 +93,7 @@ class PNorm(BaseModel): value: float -class Name463(Enum): +class Name458(Enum): inchi = "inchi" @@ -102,7 +102,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name464(Enum): +class Name459(Enum): inchi_key = "inchi_key" @@ -111,7 +111,7 @@ class InChIKeyRepresentationSchema(BaseModel): value: str -class ESSE( +class DerivedPropertiesSchema( RootModel[ Union[ VolumeSchema, @@ -132,4 +132,8 @@ class ESSE( PNorm, InChIRepresentationSchema, InChIKeyRepresentationSchema, - ] = Field(..., discriminator="name", title="derived properties item schema") + ] = Field(..., discriminator="name") + + +class DerivedPropertiesSchema55(RootModel[List[DerivedPropertiesSchema]]): + root: List[DerivedPropertiesSchema] = Field(..., title="derived properties schema") diff --git a/dist/py/properties_directory/electronic_configuration.py b/dist/py/properties_directory/electronic_configuration.py new file mode 100644 index 000000000..62be2f436 --- /dev/null +++ b/dist/py/properties_directory/electronic_configuration.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: properties_directory/electronic_configuration.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class ElectronicConfigurationSchema(BaseModel): + charge: Optional[int] = None + """ + total charge of the molecular system + """ + multiplicity: Optional[int] = None + """ + calculated as 2S+1, with S is the total spin angular momentum + """ diff --git a/dist/py/properties_directory/elemental/__init__.py b/dist/py/properties_directory/elemental/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/properties_directory/elemental/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/properties_directory/elemental/atomic_radius.py b/dist/py/properties_directory/elemental/atomic_radius.py new file mode 100644 index 000000000..e653a77c3 --- /dev/null +++ b/dist/py/properties_directory/elemental/atomic_radius.py @@ -0,0 +1,33 @@ +# generated by datamodel-codegen: +# filename: properties_directory/elemental/atomic_radius.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Name(Enum): + atomic_radius = "atomic_radius" + + +class Units(Enum): + km = "km" + m = "m" + cm = "cm" + mm = "mm" + um = "um" + nm = "nm" + angstrom = "angstrom" + a_u_ = "a.u." + bohr = "bohr" + pm = "pm" + + +class AtomicRadius(BaseModel): + name: Name + units: Optional[Units] = None + value: float diff --git a/dist/py/properties_directory/elemental/electronegativity.py b/dist/py/properties_directory/elemental/electronegativity.py new file mode 100644 index 000000000..0f506e238 --- /dev/null +++ b/dist/py/properties_directory/elemental/electronegativity.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: properties_directory/elemental/electronegativity.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Name(Enum): + electronegativity = "electronegativity" + + +class Electronegativity(BaseModel): + name: Name + value: float diff --git a/dist/py/properties_directory/elemental/ionization_potential.py b/dist/py/properties_directory/elemental/ionization_potential.py new file mode 100644 index 000000000..527fe6672 --- /dev/null +++ b/dist/py/properties_directory/elemental/ionization_potential.py @@ -0,0 +1,29 @@ +# generated by datamodel-codegen: +# filename: properties_directory/elemental/ionization_potential.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Name(Enum): + ionization_potential = "ionization_potential" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class IonizationPotentialElementalPropertySchema(BaseModel): + name: Name + units: Units + value: float diff --git a/dist/py/properties_directory/jupyter_notebook_endpoint.py b/dist/py/properties_directory/jupyter_notebook_endpoint.py new file mode 100644 index 000000000..3e72ae227 --- /dev/null +++ b/dist/py/properties_directory/jupyter_notebook_endpoint.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: properties_directory/jupyter_notebook_endpoint.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Name(Enum): + jupyter_notebook_endpoint = "jupyter_notebook_endpoint" + + +class JupyterNotebookEndpointPropertySchema(BaseModel): + name: Name + host: str + port: float + token: str diff --git a/dist/py/properties_directory/non_scalar/__init__.py b/dist/py/properties_directory/non_scalar/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/properties_directory/non_scalar/average_potential_profile.py b/dist/py/properties_directory/non_scalar/average_potential_profile.py new file mode 100644 index 000000000..91f6e6ab9 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/average_potential_profile.py @@ -0,0 +1,78 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/average_potential_profile.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field + + +class Label(Enum): + z_coordinate = "z coordinate" + + +class Units(Enum): + km = "km" + m = "m" + cm = "cm" + mm = "mm" + um = "um" + nm = "nm" + angstrom = "angstrom" + a_u_ = "a.u." + bohr = "bohr" + pm = "pm" + + +class AxisSchema(BaseModel): + label: Label + """ + label of an axis object + """ + units: Optional[Units] = None + """ + units for an axis + """ + + +class Label1(Enum): + energy = "energy" + + +class Units12(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class AxisSchema3(BaseModel): + label: Label1 + """ + label of an axis object + """ + units: Optional[Units12] = None + """ + units for an axis + """ + + +class Name(Enum): + average_potential_profile = "average_potential_profile" + + +class AveragePotentialProfilePropertySchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema3 = Field(..., title="axis schema") + name: Name + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/src/py/mat3ra/esse/models/properties_directory/structural/basis/predicted_properties.py b/dist/py/properties_directory/non_scalar/band_gaps.py similarity index 79% rename from src/py/mat3ra/esse/models/properties_directory/structural/basis/predicted_properties.py rename to dist/py/properties_directory/non_scalar/band_gaps.py index e7622c050..0237e547a 100644 --- a/src/py/mat3ra/esse/models/properties_directory/structural/basis/predicted_properties.py +++ b/dist/py/properties_directory/non_scalar/band_gaps.py @@ -1,20 +1,16 @@ # generated by datamodel-codegen: -# filename: properties_directory/structural/basis/predicted_properties.json +# filename: properties_directory/non_scalar/band_gaps.json # version: 0.28.5 from __future__ import annotations from enum import Enum -from typing import Dict, List, Optional +from typing import List, Optional from pydantic import BaseModel, Field class Name(Enum): - predicted_properties = "predicted_properties" - - -class Name686(Enum): band_gaps = "band_gaps" @@ -56,27 +52,22 @@ class BandGapSchema(BaseModel): value: float -class Eigenvalue(BaseModel): +class Eigenvalue1(BaseModel): spin: Optional[float] = None energies: Optional[List] = None occupations: Optional[List] = None -class Eigenvalue8(BaseModel): +class Eigenvalue(BaseModel): kpoint: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema") """ A k-point is a point in reciprocal space of a crystal. """ weight: Optional[float] = None - eigenvalues: Optional[List[Eigenvalue]] = None + eigenvalues: Optional[List[Eigenvalue1]] = None -class BandGapsSchema(BaseModel): - name: Name686 - values: List[BandGapSchema] - eigenvalues: Optional[List[Eigenvalue8]] = None - - -class PredictedPropertiesPropertySchema(BaseModel): +class BandGapsPropertySchema(BaseModel): name: Name - values: Dict[str, BandGapsSchema] + values: List[BandGapSchema] + eigenvalues: Optional[List[Eigenvalue]] = None diff --git a/dist/py/properties_directory/non_scalar/band_structure.py b/dist/py/properties_directory/non_scalar/band_structure.py new file mode 100644 index 000000000..e3dbb303d --- /dev/null +++ b/dist/py/properties_directory/non_scalar/band_structure.py @@ -0,0 +1,79 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/band_structure.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field + + +class Label(Enum): + kpoints = "kpoints" + + +class Units(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AxisSchema(BaseModel): + label: Label + """ + label of an axis object + """ + units: Optional[Units] = "crystal" + """ + units for an axis + """ + + +class Label3(Enum): + energy = "energy" + + +class Units16(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class AxisSchema6(BaseModel): + label: Label3 + """ + label of an axis object + """ + units: Optional[Units16] = None + """ + units for an axis + """ + + +class Name(Enum): + band_structure = "band_structure" + + +class SpinEnum(Enum): + number_0_5 = 0.5 + number__0_5 = -0.5 + + +class BandStructurePropertySchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema6 = Field(..., title="axis schema") + name: Name + spin: List[SpinEnum] + """ + spin of each band + """ + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/properties_directory/non_scalar/charge_density_profile.py b/dist/py/properties_directory/non_scalar/charge_density_profile.py new file mode 100644 index 000000000..923f3ff99 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/charge_density_profile.py @@ -0,0 +1,59 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/charge_density_profile.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field + + +class Label(Enum): + z_coordinate = "z coordinate" + + +class AxisSchema(BaseModel): + label: Label + """ + label of an axis object + """ + units: Optional[str] = None + """ + units for an axis + """ + + +class Label5(Enum): + charge_density = "charge density" + + +class Units(Enum): + e_A = "e/A" + + +class AxisSchema8(BaseModel): + label: Label5 + """ + label of an axis object + """ + units: Optional[Units] = None + """ + units for an axis + """ + + +class Name(Enum): + charge_density_profile = "charge_density_profile" + + +class ChargeDensityProfilePropertySchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema8 = Field(..., title="axis schema") + name: Name + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/properties_directory/non_scalar/density_of_states.py b/dist/py/properties_directory/non_scalar/density_of_states.py new file mode 100644 index 000000000..abfebcd14 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/density_of_states.py @@ -0,0 +1,94 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/density_of_states.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field, constr + + +class Label(Enum): + energy = "energy" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class AxisSchema(BaseModel): + label: Label + """ + label of an axis object + """ + units: Optional[Units] = None + """ + units for an axis + """ + + +class Label7(Enum): + density_of_states = "density of states" + + +class Units176(Enum): + states_unitcell = "states/unitcell" + + +class AxisSchema10(BaseModel): + label: Label7 + """ + label of an axis object + """ + units: Optional[Units176] = None + """ + units for an axis + """ + + +class Name(Enum): + density_of_states = "density_of_states" + + +class Spin(Enum): + number_0_5 = 0.5 + number__0_5 = -0.5 + + +class LegendItem(BaseModel): + element: Optional[str] = None + """ + chemical element + """ + index: Optional[int] = None + """ + index inside sub-array of atoms of the same element type + """ + electronicState: Optional[constr(pattern=r"^([1-5]{1})?(s|p|d|f|g).*$")] = None + """ + electronic character and shell of PDOS, such as `1s` or `s`, or `total` + """ + spin: Optional[Spin] = None + """ + spin of the electronic state + """ + + +class DensityOfStatesPropertySchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema10 = Field(..., title="axis schema") + name: Name + legend: List[LegendItem] + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/properties_directory/non_scalar/dielectric_tensor.py b/dist/py/properties_directory/non_scalar/dielectric_tensor.py new file mode 100644 index 000000000..0a0aabea6 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/dielectric_tensor.py @@ -0,0 +1,40 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/dielectric_tensor.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel + + +class Name(Enum): + dielectric_tensor = "dielectric_tensor" + + +class Part(Enum): + real = "real" + imaginary = "imaginary" + + +class DielectricTensor(BaseModel): + part: Part + """ + Real or imaginary part of the dielectric tensor component + """ + spin: Optional[float] = None + frequencies: List[float] + """ + Frequencies + """ + components: List[List[float]] + """ + Matrix with 3 columns, e.g. x, y, z + """ + + +class DielectricTensorPropertySchema(BaseModel): + name: Name + values: List[DielectricTensor] diff --git a/dist/py/properties_directory/non_scalar/file_content.py b/dist/py/properties_directory/non_scalar/file_content.py new file mode 100644 index 000000000..328d6582a --- /dev/null +++ b/dist/py/properties_directory/non_scalar/file_content.py @@ -0,0 +1,64 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/file_content.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Name(Enum): + file_content = "file_content" + + +class Filetype(Enum): + image = "image" + text = "text" + csv = "csv" + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class FileContentPropertySchema(BaseModel): + name: Name + filetype: Filetype + """ + What kind of file this is, e.g. image / text + """ + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ diff --git a/dist/py/properties_directory/non_scalar/final_structure.py b/dist/py/properties_directory/non_scalar/final_structure.py new file mode 100644 index 000000000..8f5693ac7 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/final_structure.py @@ -0,0 +1,22 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/final_structure.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Name(Enum): + final_structure = "final_structure" + + +class FinalStructurePropertySchema(BaseModel): + name: Name + isRelaxed: bool + materialId: str + """ + Material's identity + """ diff --git a/dist/py/properties_directory/non_scalar/hubbard_u.py b/dist/py/properties_directory/non_scalar/hubbard_u.py new file mode 100644 index 000000000..c89119bba --- /dev/null +++ b/dist/py/properties_directory/non_scalar/hubbard_u.py @@ -0,0 +1,40 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/hubbard_u.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List + +from pydantic import BaseModel, constr + + +class Name(Enum): + hubbard_u = "hubbard_u" + + +class Units(Enum): + eV = "eV" + + +class AtomicDataPerOrbitalNumeric(BaseModel): + id: int + """ + Site number or index in the lattice + """ + atomicSpecies: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") + """ + Example: Co1, Mn + """ + orbitalName: constr(pattern=r"^[1-7][sSpPdDfF]$") + value: float + """ + Value related to a specific property, e.g., Hubbard U, V etc. + """ + + +class HubbardUParametersPropertySchema(BaseModel): + name: Name + units: Units + values: List[AtomicDataPerOrbitalNumeric] diff --git a/dist/py/properties_directory/non_scalar/hubbard_v.py b/dist/py/properties_directory/non_scalar/hubbard_v.py new file mode 100644 index 000000000..9a395bbd4 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/hubbard_v.py @@ -0,0 +1,53 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/hubbard_v.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, constr + + +class Name(Enum): + hubbard_v = "hubbard_v" + + +class Units(Enum): + eV = "eV" + + +class AtomicDataPerOrbitalPairNumeric(BaseModel): + id: int + """ + Site number or index in the lattice + """ + id2: int + """ + Site number or index in the lattice of second site + """ + atomicSpecies: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") + """ + Example: Co1, Mn + """ + atomicSpecies2: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") + """ + Example: Co2, O + """ + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + orbitalName2: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + distance: Optional[float] = None + """ + Distance between two sites in Bohr. + """ + value: float + """ + Value related to a specific property, e.g., Hubbard U, V etc. + """ + + +class HubbardVParametersPropertySchema(BaseModel): + name: Name + units: Units + values: List[AtomicDataPerOrbitalPairNumeric] diff --git a/dist/py/properties_directory/non_scalar/hubbard_v_nn.py b/dist/py/properties_directory/non_scalar/hubbard_v_nn.py new file mode 100644 index 000000000..1fec5c921 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/hubbard_v_nn.py @@ -0,0 +1,53 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/hubbard_v_nn.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, constr + + +class Name(Enum): + hubbard_v_nn = "hubbard_v_nn" + + +class Units(Enum): + eV = "eV" + + +class AtomicDataPerOrbitalPairNumeric(BaseModel): + id: int + """ + Site number or index in the lattice + """ + id2: int + """ + Site number or index in the lattice of second site + """ + atomicSpecies: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") + """ + Example: Co1, Mn + """ + atomicSpecies2: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") + """ + Example: Co2, O + """ + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + orbitalName2: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + distance: Optional[float] = None + """ + Distance between two sites in Bohr. + """ + value: float + """ + Value related to a specific property, e.g., Hubbard U, V etc. + """ + + +class HubbardVNNParametersPropertySchema(BaseModel): + name: Name + units: Units + values: List[AtomicDataPerOrbitalPairNumeric] diff --git a/dist/py/properties_directory/non_scalar/is_relaxed.py b/dist/py/properties_directory/non_scalar/is_relaxed.py new file mode 100644 index 000000000..2df3924d7 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/is_relaxed.py @@ -0,0 +1,22 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/is_relaxed.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Name(Enum): + is_relaxed = "is_relaxed" + + +class IsRelaxedPropertySchema(BaseModel): + name: Name + value: bool + materialId: str + """ + Material's identity + """ diff --git a/dist/py/properties_directory/non_scalar/phonon_dispersions.py b/dist/py/properties_directory/non_scalar/phonon_dispersions.py new file mode 100644 index 000000000..f4385654c --- /dev/null +++ b/dist/py/properties_directory/non_scalar/phonon_dispersions.py @@ -0,0 +1,66 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/phonon_dispersions.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field + + +class Label(Enum): + qpoints = "qpoints" + + +class Units(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AxisSchema(BaseModel): + label: Label + """ + label of an axis object + """ + units: Optional[Units] = "crystal" + """ + units for an axis + """ + + +class Label25(Enum): + frequency = "frequency" + + +class Units272(Enum): + cm_1 = "cm-1" + THz = "THz" + meV = "meV" + + +class AxisSchema28(BaseModel): + label: Label25 + """ + label of an axis object + """ + units: Optional[Units272] = None + """ + units for an axis + """ + + +class Name(Enum): + phonon_dispersions = "phonon_dispersions" + + +class PhononBandStructurePropertySchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema28 = Field(..., title="axis schema") + name: Name + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/properties_directory/non_scalar/phonon_dos.py b/dist/py/properties_directory/non_scalar/phonon_dos.py new file mode 100644 index 000000000..ce8d7d067 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/phonon_dos.py @@ -0,0 +1,67 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/phonon_dos.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field + + +class Label(Enum): + frequency = "frequency" + + +class Units(Enum): + cm_1 = "cm-1" + THz = "THz" + meV = "meV" + + +class AxisSchema(BaseModel): + label: Label + """ + label of an axis object + """ + units: Optional[Units] = None + """ + units for an axis + """ + + +class Label27(Enum): + Phonon_DOS = "Phonon DOS" + + +class Units274(Enum): + states_cm_1 = "states/cm-1" + states_THz = "states/THz" + states_meV = "states/meV" + + +class AxisSchema30(BaseModel): + label: Label27 + """ + label of an axis object + """ + units: Optional[Units274] = None + """ + units for an axis + """ + + +class Name(Enum): + phonon_dos = "phonon_dos" + + +class PhononDensityOfStatesPropertySchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema30 = Field(..., title="axis schema") + name: Name + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/properties_directory/non_scalar/potential_profile.py b/dist/py/properties_directory/non_scalar/potential_profile.py new file mode 100644 index 000000000..3b7314a02 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/potential_profile.py @@ -0,0 +1,65 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/potential_profile.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field + + +class Label(Enum): + z_coordinate = "z coordinate" + + +class AxisSchema(BaseModel): + label: Label + """ + label of an axis object + """ + units: Optional[str] = None + """ + units for an axis + """ + + +class Label29(Enum): + energy = "energy" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class AxisSchema32(BaseModel): + label: Label29 + """ + label of an axis object + """ + units: Optional[Units] = None + """ + units for an axis + """ + + +class Name(Enum): + potential_profile = "potential_profile" + + +class PotentialProfilePropertySchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema32 = Field(..., title="axis schema") + name: Name + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/properties_directory/non_scalar/reaction_energy_profile.py b/dist/py/properties_directory/non_scalar/reaction_energy_profile.py new file mode 100644 index 000000000..d6e592883 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/reaction_energy_profile.py @@ -0,0 +1,65 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/reaction_energy_profile.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field + + +class Label(Enum): + reaction_coordinate = "reaction coordinate" + + +class AxisSchema(BaseModel): + label: Label + """ + label of an axis object + """ + units: Optional[str] = None + """ + units for an axis + """ + + +class Label31(Enum): + energy = "energy" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class AxisSchema34(BaseModel): + label: Label31 + """ + label of an axis object + """ + units: Optional[Units] = None + """ + units for an axis + """ + + +class Name(Enum): + reaction_energy_profile = "reaction_energy_profile" + + +class ReactionEnergyProfilePropertySchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema34 = Field(..., title="axis schema") + name: Name + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/properties_directory/non_scalar/stress_tensor.py b/dist/py/properties_directory/non_scalar/stress_tensor.py new file mode 100644 index 000000000..8a9b38576 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/stress_tensor.py @@ -0,0 +1,29 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/stress_tensor.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List + +from pydantic import BaseModel, Field, RootModel + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class Name(Enum): + stress_tensor = "stress_tensor" + + +class Units(Enum): + kbar = "kbar" + pa = "pa" + + +class StressTensorPropertySchema(BaseModel): + value: List[ArrayOf3NumberElementsSchema] = Field(..., max_length=3, min_length=3, title="matrix 3x3 schema") + name: Name + units: Units diff --git a/dist/py/properties_directory/non_scalar/total_energy_contributions.py b/dist/py/properties_directory/non_scalar/total_energy_contributions.py new file mode 100644 index 000000000..b069708b0 --- /dev/null +++ b/dist/py/properties_directory/non_scalar/total_energy_contributions.py @@ -0,0 +1,211 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/total_energy_contributions.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Name(Enum): + temperature_entropy = "temperature_entropy" + + +class ScalarSchema(BaseModel): + name: Optional[Name] = None + value: float + + +class Name744(Enum): + harris_foulkes = "harris_foulkes" + + +class ScalarSchema97(BaseModel): + name: Optional[Name744] = None + value: float + + +class Name745(Enum): + smearing = "smearing" + + +class ScalarSchema98(BaseModel): + name: Optional[Name745] = None + value: float + + +class Name746(Enum): + one_electron = "one_electron" + + +class ScalarSchema99(BaseModel): + name: Optional[Name746] = None + value: float + + +class Name747(Enum): + hartree = "hartree" + + +class ScalarSchema100(BaseModel): + name: Optional[Name747] = None + value: float + + +class Name748(Enum): + exchange = "exchange" + + +class ScalarSchema101(BaseModel): + name: Optional[Name748] = None + value: float + + +class Name749(Enum): + exchange_correlation = "exchange_correlation" + + +class ScalarSchema102(BaseModel): + name: Optional[Name749] = None + value: float + + +class Name750(Enum): + ewald = "ewald" + + +class ScalarSchema103(BaseModel): + name: Optional[Name750] = None + value: float + + +class Name751(Enum): + alphaZ = "alphaZ" + + +class ScalarSchema104(BaseModel): + name: Optional[Name751] = None + value: float + + +class Name752(Enum): + atomic_energy = "atomic_energy" + + +class ScalarSchema105(BaseModel): + name: Optional[Name752] = None + value: float + + +class Name753(Enum): + eigenvalues = "eigenvalues" + + +class ScalarSchema106(BaseModel): + name: Optional[Name753] = None + value: float + + +class Name754(Enum): + PAW_double_counting_correction_2 = "PAW_double-counting_correction_2" + + +class ScalarSchema107(BaseModel): + name: Optional[Name754] = None + value: float + + +class Name755(Enum): + PAW_double_counting_correction_3 = "PAW_double-counting_correction_3" + + +class ScalarSchema108(BaseModel): + name: Optional[Name755] = None + value: float + + +class Name756(Enum): + hartree_fock = "hartree_fock" + + +class ScalarSchema109(BaseModel): + name: Optional[Name756] = None + value: float + + +class Name757(Enum): + total_energy_contributions = "total_energy_contributions" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class TotalEnergyContributionsPropertySchema(BaseModel): + temperatureEntropy: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + product of temperature and configurational entropy + """ + harris_foulkes: Optional[ScalarSchema97] = Field(None, title="scalar schema") + """ + non self-consitent energy based on an input charge density + """ + smearing: Optional[ScalarSchema98] = Field(None, title="scalar schema") + """ + smearing energy + """ + one_electron: Optional[ScalarSchema99] = Field(None, title="scalar schema") + """ + kinetic + pseudopotential energy + """ + hartree: Optional[ScalarSchema100] = Field(None, title="scalar schema") + """ + energy due to coulomb potential + """ + exchange: Optional[ScalarSchema101] = Field(None, title="scalar schema") + """ + exchange energy + """ + exchange_correlation: Optional[ScalarSchema102] = Field(None, title="scalar schema") + """ + exchange and correlation energy per particle + """ + ewald: Optional[ScalarSchema103] = Field(None, title="scalar schema") + """ + summation of interaction energies at long length scales due to coloumbic interactions + """ + alphaZ: Optional[ScalarSchema104] = Field(None, title="scalar schema") + """ + divergent electrostatic ion interaction in compensating electron gas + """ + atomicEnergy: Optional[ScalarSchema105] = Field(None, title="scalar schema") + """ + kinetic energy of wavefunctions in the atomic limit + """ + eigenvalues: Optional[ScalarSchema106] = Field(None, title="scalar schema") + """ + sum of one electron energies of kinetic, electrostatic, and exchange correlation + """ + PAWDoubleCounting2: Optional[ScalarSchema107] = Field(None, title="scalar schema") + """ + double counting correction 2 + """ + PAWDoubleCounting3: Optional[ScalarSchema108] = Field(None, title="scalar schema") + """ + double counting correction 3 + """ + hartreeFock: Optional[ScalarSchema109] = Field(None, title="scalar schema") + """ + hartree-fock contribution + """ + name: Name757 + units: Optional[Units] = None diff --git a/dist/py/properties_directory/non_scalar/vibrational_spectrum.py b/dist/py/properties_directory/non_scalar/vibrational_spectrum.py new file mode 100644 index 000000000..3e6365abd --- /dev/null +++ b/dist/py/properties_directory/non_scalar/vibrational_spectrum.py @@ -0,0 +1,71 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/vibrational_spectrum.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field + + +class Label(Enum): + frequency = "frequency" + wavenumber = "wavenumber" + + +class Units(Enum): + cm_1 = "cm-1" + THz = "THz" + meV = "meV" + + +class AxisSchema(BaseModel): + label: Label + """ + label of an axis object + """ + units: Optional[Units] = None + """ + units for an axis + """ + + +class Label33(Enum): + Intensity = "Intensity" + Absorbance = "Absorbance" + Absorption_coefficient = "Absorption coefficient" + + +class Units336(Enum): + field_debye_angstrom__2 = "(debye/angstrom)^2" + km_mol = "km/mol" + m_mol = "m/mol" + a_u_ = "a.u." + + +class AxisSchema36(BaseModel): + label: Label33 + """ + label of an axis object + """ + units: Optional[Units336] = None + """ + units for an axis + """ + + +class Name(Enum): + vibrational_spectrum = "vibrational_spectrum" + + +class VibrationalSpectrumPropertySchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema36 = Field(..., title="axis schema") + name: Name + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") diff --git a/dist/py/properties_directory/non_scalar/workflow.py b/dist/py/properties_directory/non_scalar/workflow.py new file mode 100644 index 000000000..0dd7d20dd --- /dev/null +++ b/dist/py/properties_directory/non_scalar/workflow.py @@ -0,0 +1,2231 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/workflow.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel, conint + + +class Name(Enum): + workflow_pyml_predict = "workflow:pyml_predict" + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + io = "io" + + +class Subtype(Enum): + input = "input" + output = "output" + dataFrame = "dataFrame" + + +class Source(Enum): + api = "api" + db = "db" + object_storage = "object_storage" + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema25(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema25], + ObjectStorageIoSchema, + ] + ] + + +class Type207(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + +class ReduceUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type208(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class ConditionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type209(Enum): + assertion = "assertion" + + +class AssertionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type210(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type211(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type212(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class WorkflowSubworkflowUnitSchema( + RootModel[ + Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] = Field(..., discriminator="type", title="workflow subworkflow unit schema") + + +class BaseMethod(BaseModel): + type: str + """ + general type of this method, eg. `pseudopotential` + """ + subtype: str + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ + + +class BaseModel1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: str + """ + general type of the model, eg. `dft` + """ + subtype: str + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") + + +class Queue(Enum): + D = "D" + OR = "OR" + OF = "OF" + OFplus = "OFplus" + SR = "SR" + SF = "SF" + SFplus = "SFplus" + GPOF = "GPOF" + GP2OF = "GP2OF" + GP4OF = "GP4OF" + GPSF = "GPSF" + GP2SF = "GP2SF" + GP4SF = "GP4SF" + OR4 = "OR4" + OR8 = "OR8" + OR16 = "OR16" + SR4 = "SR4" + SR8 = "SR8" + SR16 = "SR16" + GOF = "GOF" + G4OF = "G4OF" + G8OF = "G8OF" + GSF = "GSF" + G4SF = "G4SF" + G8SF = "G8SF" + + +class TimeLimitType(Enum): + per_single_attempt = "per single attempt" + compound = "compound" + + +class QuantumEspressoArgumentsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nimage: Optional[conint(ge=1, le=100)] = 1 + """ + Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others. + """ + npools: Optional[conint(ge=1, le=100)] = 1 + """ + Each image can be subpartitioned into `pools`, each taking care of a group of k-points. + """ + nband: Optional[conint(ge=1, le=100)] = 1 + """ + Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions). + """ + ntg: Optional[conint(ge=1, le=100)] = 1 + """ + In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time. + """ + ndiag: Optional[conint(ge=1, le=100)] = 1 + """ + A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations. + """ + + +class Cluster(BaseModel): + fqdn: Optional[str] = None + """ + FQDN of the cluster. e.g. master-1-staging.exabyte.io + """ + jid: Optional[str] = None + """ + Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io + """ + + +class Domain(Enum): + rupy = "rupy" + alfred = "alfred" + celim = "celim" + webapp = "webapp" + + +class Error(BaseModel): + domain: Optional[Domain] = None + """ + Domain of the error appearance (internal). + """ + reason: Optional[str] = None + """ + Should be a short, unique, machine-readable error code string. e.g. FileNotFound + """ + message: Optional[str] = None + """ + Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json' + """ + traceback: Optional[str] = None + """ + Full machine-readable error traceback. e.g. FileNotFound + """ + + +class ComputeArgumentsSchema(BaseModel): + queue: Queue + """ + Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication. + """ + nodes: int + """ + number of nodes used for the job inside the RMS. + """ + ppn: int + """ + number of CPUs used for the job inside the RMS. + """ + timeLimit: str + """ + Wallclock time limit for computing a job. Clock format: 'hh:mm:ss' + """ + timeLimitType: Optional[TimeLimitType] = "per single attempt" + """ + Convention to use when reasoning about time limits + """ + isRestartable: Optional[bool] = True + """ + Job is allowed to restart on termination. + """ + notify: Optional[str] = None + """ + Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined. + """ + email: Optional[str] = None + """ + Email address to notify about job execution. + """ + maxCPU: Optional[int] = None + """ + Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user. + """ + arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema") + """ + Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere + """ + cluster: Optional[Cluster] = None + """ + Cluster where the job is executed. Optional on create. Required on job submission. + """ + errors: Optional[List[Error]] = None + """ + Computation error. Optional. Appears only if something happens on jobs execution. + """ + excludeFilesPattern: Optional[str] = None + """ + A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix + """ + + +class Subworkflow(BaseModel): + units: List[WorkflowSubworkflowUnitSchema] + """ + Contains the Units of the subworkflow + """ + model: BaseModel1 = Field(..., title="base model") + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + isDraft: Optional[bool] = False + """ + Defines whether to store the results/properties extracted in this unit to properties collection + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + subworkflow identity + """ + name: str + """ + Human-readable name of the subworkflow. e.g. Total-energy + """ + properties: Optional[List[str]] = None + """ + Array of characteristic properties calculated by this subworkflow + """ + compute: Optional[ComputeArgumentsSchema] = Field(None, title="compute arguments schema") + """ + Custom keywords prefixed with validate correspond to custom validation methods implemented downstream + """ + + +class Type213(Enum): + io = "io" + + +class DataIODatabaseInputOutputSchema26(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema27(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageIoSchema13(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema26, DataIODatabaseInputOutputSchema27], + ObjectStorageIoSchema13, + ] + ] + + +class Type214(Enum): + reduce = "reduce" + + +class ReduceUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type215(Enum): + condition = "condition" + + +class ConditionUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type216(Enum): + assertion = "assertion" + + +class AssertionUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type217(Enum): + execution = "execution" + + +class ExecutableSchema15(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class FlavorSchema15(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema15] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema15] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type218(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type219(Enum): + processing = "processing" + + +class ProcessingUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class Type220(Enum): + map = "map" + + +class Input(BaseModel): + target: str + """ + Name of the target variable to substitute using the values below. e.g. K_POINTS + """ + scope: Optional[str] = None + """ + Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. + """ + name: Optional[str] = None + """ + Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. + """ + values: Optional[List[Union[str, float, Dict[str, Any]]]] = None + """ + Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution + """ + useValues: Optional[bool] = None + + +class MapUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ + + +class Type221(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + + +class WorkflowUnitSchema( + RootModel[ + Union[ + DataIOUnitSchema11, + ReduceUnitSchema11, + ConditionUnitSchema11, + AssertionUnitSchema11, + ExecutionUnitSchemaBase11, + AssignmentUnitSchema11, + ProcessingUnitSchema11, + MapUnitSchema, + SubworkflowUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema11, + ReduceUnitSchema11, + ConditionUnitSchema11, + AssertionUnitSchema11, + ExecutionUnitSchemaBase11, + AssignmentUnitSchema11, + ProcessingUnitSchema11, + MapUnitSchema, + SubworkflowUnitSchema, + ] = Field(..., discriminator="type", title="workflow unit schema") + + +class WorkflowPropertySchema(BaseModel): + name: Name + """ + entity name + """ + subworkflows: List[Subworkflow] + """ + Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting + """ + units: List[WorkflowUnitSchema] + """ + Contains the Units of the Workflow + """ + properties: Optional[List[Union[str, Dict[str, Any]]]] = None + """ + Array of characteristic properties calculated by this workflow (TODO: add enums) + """ + isUsingDataset: Optional[bool] = None + """ + Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab. + """ + workflows: Optional[List[Dict[str, Any]]] = None + """ + Array of workflows with the same schema as the current one. + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + metadata: Optional[Dict[str, Any]] = None diff --git a/dist/py/properties_directory/reusable/__init__.py b/dist/py/properties_directory/reusable/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/properties_directory/reusable/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/src/py/mat3ra/esse/models/core/reusable/hubbard_parameters.py b/dist/py/properties_directory/reusable/hubbard_parameters.py similarity index 93% rename from src/py/mat3ra/esse/models/core/reusable/hubbard_parameters.py rename to dist/py/properties_directory/reusable/hubbard_parameters.py index 42a83f2d3..e4a0ee55a 100644 --- a/src/py/mat3ra/esse/models/core/reusable/hubbard_parameters.py +++ b/dist/py/properties_directory/reusable/hubbard_parameters.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: core/reusable/hubbard_parameters.json +# filename: properties_directory/reusable/hubbard_parameters.json # version: 0.28.5 from __future__ import annotations diff --git a/dist/py/properties_directory/scalar/__init__.py b/dist/py/properties_directory/scalar/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/properties_directory/scalar/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/properties_directory/scalar/electron_affinity.py b/dist/py/properties_directory/scalar/electron_affinity.py new file mode 100644 index 000000000..5585f3789 --- /dev/null +++ b/dist/py/properties_directory/scalar/electron_affinity.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/electron_affinity.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Name(Enum): + electron_affinity = "electron_affinity" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units181(Enum): + eV_A_2 = "eV/A^2" + + +class ElectronAffinityPropertySchema(BaseModel): + name: Name + units: Union[Units, Units181] + value: float diff --git a/dist/py/properties_directory/scalar/fermi_energy.py b/dist/py/properties_directory/scalar/fermi_energy.py new file mode 100644 index 000000000..cd1ec96e8 --- /dev/null +++ b/dist/py/properties_directory/scalar/fermi_energy.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/fermi_energy.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Name(Enum): + fermi_energy = "fermi_energy" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units188(Enum): + eV_A_2 = "eV/A^2" + + +class FermiEnergyPropertySchema(BaseModel): + name: Name + units: Union[Units, Units188] + value: float diff --git a/dist/py/properties_directory/scalar/formation_energy.py b/dist/py/properties_directory/scalar/formation_energy.py new file mode 100644 index 000000000..53b4e1213 --- /dev/null +++ b/dist/py/properties_directory/scalar/formation_energy.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/formation_energy.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Name(Enum): + formation_energy = "formation_energy" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units190(Enum): + eV_A_2 = "eV/A^2" + + +class FormationEnergyPropertySchema(BaseModel): + name: Name + units: Union[Units, Units190] + value: float diff --git a/dist/py/properties_directory/scalar/ionization_potential.py b/dist/py/properties_directory/scalar/ionization_potential.py new file mode 100644 index 000000000..dd1763ad0 --- /dev/null +++ b/dist/py/properties_directory/scalar/ionization_potential.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/ionization_potential.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Name(Enum): + ionization_potential = "ionization_potential" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units248(Enum): + eV_A_2 = "eV/A^2" + + +class IonizationPotentialScalarPropertySchema(BaseModel): + name: Name + units: Union[Units, Units248] + value: float diff --git a/dist/py/properties_directory/scalar/pressure.py b/dist/py/properties_directory/scalar/pressure.py new file mode 100644 index 000000000..7994d6416 --- /dev/null +++ b/dist/py/properties_directory/scalar/pressure.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/pressure.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Name(Enum): + pressure = "pressure" + + +class Units(Enum): + kbar = "kbar" + pa = "pa" + + +class PressurePropertySchema(BaseModel): + name: Name + units: Units + value: float diff --git a/dist/py/properties_directory/scalar/reaction_energy_barrier.py b/dist/py/properties_directory/scalar/reaction_energy_barrier.py new file mode 100644 index 000000000..bdb418ba4 --- /dev/null +++ b/dist/py/properties_directory/scalar/reaction_energy_barrier.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/reaction_energy_barrier.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Name(Enum): + reaction_energy_barrier = "reaction_energy_barrier" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units281(Enum): + eV_A_2 = "eV/A^2" + + +class ReactionEnergyBarrierPropertySchema(BaseModel): + name: Name + units: Union[Units, Units281] + value: float diff --git a/dist/py/properties_directory/scalar/surface_energy.py b/dist/py/properties_directory/scalar/surface_energy.py new file mode 100644 index 000000000..50ac6c661 --- /dev/null +++ b/dist/py/properties_directory/scalar/surface_energy.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/surface_energy.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Name(Enum): + surface_energy = "surface_energy" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units321(Enum): + eV_A_2 = "eV/A^2" + + +class SurfaceEnergyPropertySchema(BaseModel): + name: Name + units: Union[Units, Units321] + value: float diff --git a/dist/py/properties_directory/scalar/total_energy.py b/dist/py/properties_directory/scalar/total_energy.py new file mode 100644 index 000000000..633faf78d --- /dev/null +++ b/dist/py/properties_directory/scalar/total_energy.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/total_energy.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Name(Enum): + total_energy = "total_energy" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units324(Enum): + eV_A_2 = "eV/A^2" + + +class TotalEnergyPropertySchema(BaseModel): + name: Name + units: Union[Units, Units324] + value: float diff --git a/dist/py/properties_directory/scalar/total_force.py b/dist/py/properties_directory/scalar/total_force.py new file mode 100644 index 000000000..99142f420 --- /dev/null +++ b/dist/py/properties_directory/scalar/total_force.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/total_force.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Name(Enum): + total_force = "total_force" + + +class Units(Enum): + eV_bohr = "eV/bohr" + eV_angstrom = "eV/angstrom" + Ry_a_u_ = "Ry/a.u." + newton = "newton" + kg_m_s_2 = "kg*m/s^2" + eV_a_u_ = "eV/a.u." + + +class TotalForcesPropertySchema(BaseModel): + name: Name + units: Units + value: float diff --git a/dist/py/properties_directory/scalar/valence_band_offset.py b/dist/py/properties_directory/scalar/valence_band_offset.py new file mode 100644 index 000000000..89214cd57 --- /dev/null +++ b/dist/py/properties_directory/scalar/valence_band_offset.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/valence_band_offset.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Name(Enum): + valence_band_offset = "valence_band_offset" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units334(Enum): + eV_A_2 = "eV/A^2" + + +class ValenceBandOffsetPropertySchema(BaseModel): + name: Name + units: Union[Units, Units334] + value: float diff --git a/dist/py/properties_directory/scalar/zero_point_energy.py b/dist/py/properties_directory/scalar/zero_point_energy.py new file mode 100644 index 000000000..800094793 --- /dev/null +++ b/dist/py/properties_directory/scalar/zero_point_energy.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/zero_point_energy.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Name(Enum): + zero_point_energy = "zero_point_energy" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units342(Enum): + eV_A_2 = "eV/A^2" + + +class ZeroPointEnergyPropertySchema(BaseModel): + name: Name + units: Union[Units, Units342] + value: float diff --git a/dist/py/properties_directory/structural/__init__.py b/dist/py/properties_directory/structural/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/properties_directory/structural/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/properties_directory/structural/atomic_forces.py b/dist/py/properties_directory/structural/atomic_forces.py new file mode 100644 index 000000000..1cea17744 --- /dev/null +++ b/dist/py/properties_directory/structural/atomic_forces.py @@ -0,0 +1,40 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/atomic_forces.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List + +from pydantic import BaseModel, Field + + +class Name(Enum): + atomic_forces = "atomic_forces" + + +class AtomicVectorSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class Units(Enum): + eV_bohr = "eV/bohr" + eV_angstrom = "eV/angstrom" + Ry_a_u_ = "Ry/a.u." + newton = "newton" + kg_m_s_2 = "kg*m/s^2" + eV_a_u_ = "eV/a.u." + + +class AtomicForcesPropertySchema(BaseModel): + name: Name + values: List[AtomicVectorSchema] = Field(..., title="atomic vectors schema") + units: Units diff --git a/dist/py/properties_directory/structural/basis/__init__.py b/dist/py/properties_directory/structural/basis/__init__.py new file mode 100644 index 000000000..c67d88b56 --- /dev/null +++ b/dist/py/properties_directory/structural/basis/__init__.py @@ -0,0 +1,190 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field, conint + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value15(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value15] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class BasisSchema(BaseModel): + elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ + coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ + units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum") + labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema") + """ + atomic labels schema + """ diff --git a/dist/py/properties_directory/structural/basis/atomic_constraint.py b/dist/py/properties_directory/structural/basis/atomic_constraint.py new file mode 100644 index 000000000..982fbeb1d --- /dev/null +++ b/dist/py/properties_directory/structural/basis/atomic_constraint.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/atomic_constraint.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel, Field + + +class AtomicConstraintSchema(BaseModel): + value: List[bool] = Field(..., title="vector boolean 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ diff --git a/dist/py/properties_directory/structural/basis/atomic_constraints.py b/dist/py/properties_directory/structural/basis/atomic_constraints.py new file mode 100644 index 000000000..6b18d0371 --- /dev/null +++ b/dist/py/properties_directory/structural/basis/atomic_constraints.py @@ -0,0 +1,27 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/atomic_constraints.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel, Field, RootModel + + +class AtomicConstraintSchema(BaseModel): + value: List[bool] = Field(..., title="vector boolean 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class AtomicConstraintsSchema(RootModel[List[AtomicConstraintSchema]]): + root: List[AtomicConstraintSchema] = Field(..., title="atomic constraints schema") + """ + atomic constraints schema + """ diff --git a/dist/py/properties_directory/structural/basis/atomic_constraints_property.py b/dist/py/properties_directory/structural/basis/atomic_constraints_property.py new file mode 100644 index 000000000..04fb48c2c --- /dev/null +++ b/dist/py/properties_directory/structural/basis/atomic_constraints_property.py @@ -0,0 +1,33 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/atomic_constraints_property.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List + +from pydantic import BaseModel, Field + + +class Name(Enum): + atomic_constraints = "atomic_constraints" + + +class AtomicConstraintSchema(BaseModel): + value: List[bool] = Field(..., title="vector boolean 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class AtomicConstraintsPropertySchema(BaseModel): + name: Name + values: List[AtomicConstraintSchema] = Field(..., title="atomic constraints schema") + """ + atomic constraints schema + """ diff --git a/dist/py/properties_directory/structural/basis/atomic_coordinate.py b/dist/py/properties_directory/structural/basis/atomic_coordinate.py new file mode 100644 index 000000000..65eb22624 --- /dev/null +++ b/dist/py/properties_directory/structural/basis/atomic_coordinate.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/atomic_coordinate.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel, Field + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ diff --git a/dist/py/properties_directory/structural/basis/atomic_coordinates.py b/dist/py/properties_directory/structural/basis/atomic_coordinates.py new file mode 100644 index 000000000..347c35e67 --- /dev/null +++ b/dist/py/properties_directory/structural/basis/atomic_coordinates.py @@ -0,0 +1,27 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/atomic_coordinates.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel, Field, RootModel + + +class AtomicCoordinateSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class AtomicCoordinatesSchema(RootModel[List[AtomicCoordinateSchema]]): + root: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema") + """ + atomic coordinates schema + """ diff --git a/dist/py/properties_directory/structural/basis/atomic_element.py b/dist/py/properties_directory/structural/basis/atomic_element.py new file mode 100644 index 000000000..1550ba12a --- /dev/null +++ b/dist/py/properties_directory/structural/basis/atomic_element.py @@ -0,0 +1,147 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/atomic_element.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Union + +from pydantic import BaseModel + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value1(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value1] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ diff --git a/dist/py/properties_directory/structural/basis/atomic_elements.py b/dist/py/properties_directory/structural/basis/atomic_elements.py new file mode 100644 index 000000000..90bc8b1fa --- /dev/null +++ b/dist/py/properties_directory/structural/basis/atomic_elements.py @@ -0,0 +1,154 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/atomic_elements.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Union + +from pydantic import BaseModel, Field, RootModel + + +class Value(Enum): + H = "H" + He = "He" + Li = "Li" + Be = "Be" + B = "B" + C = "C" + N = "N" + O = "O" + F = "F" + Ne = "Ne" + Na = "Na" + Mg = "Mg" + Al = "Al" + Si = "Si" + P = "P" + S = "S" + Cl = "Cl" + Ar = "Ar" + K = "K" + Ca = "Ca" + Sc = "Sc" + Ti = "Ti" + V = "V" + Cr = "Cr" + Mn = "Mn" + Fe = "Fe" + Co = "Co" + Ni = "Ni" + Cu = "Cu" + Zn = "Zn" + Ga = "Ga" + Ge = "Ge" + As = "As" + Se = "Se" + Br = "Br" + Kr = "Kr" + Rb = "Rb" + Sr = "Sr" + Y = "Y" + Zr = "Zr" + Nb = "Nb" + Mo = "Mo" + Tc = "Tc" + Ru = "Ru" + Rh = "Rh" + Pd = "Pd" + Ag = "Ag" + Cd = "Cd" + In = "In" + Sn = "Sn" + Sb = "Sb" + Te = "Te" + I = "I" + Xe = "Xe" + Cs = "Cs" + Ba = "Ba" + La = "La" + Ce = "Ce" + Pr = "Pr" + Nd = "Nd" + Pm = "Pm" + Sm = "Sm" + Eu = "Eu" + Gd = "Gd" + Tb = "Tb" + Dy = "Dy" + Ho = "Ho" + Er = "Er" + Tm = "Tm" + Yb = "Yb" + Lu = "Lu" + Hf = "Hf" + Ta = "Ta" + W = "W" + Re = "Re" + Os = "Os" + Ir = "Ir" + Pt = "Pt" + Au = "Au" + Hg = "Hg" + Tl = "Tl" + Pb = "Pb" + Bi = "Bi" + Po = "Po" + At = "At" + Rn = "Rn" + Fr = "Fr" + Ra = "Ra" + Ac = "Ac" + Th = "Th" + Pa = "Pa" + U = "U" + Np = "Np" + Pu = "Pu" + Am = "Am" + Cm = "Cm" + Bk = "Bk" + Cf = "Cf" + Es = "Es" + Fm = "Fm" + Md = "Md" + No = "No" + Lr = "Lr" + Rf = "Rf" + Db = "Db" + Sg = "Sg" + Bh = "Bh" + Hs = "Hs" + Mt = "Mt" + Ds = "Ds" + Rg = "Rg" + Cn = "Cn" + Nh = "Nh" + Fl = "Fl" + Mc = "Mc" + Lv = "Lv" + Ts = "Ts" + Og = "Og" + + +class Value3(Enum): + X = "X" + Vac = "Vac" + + +class AtomicElementSchema(BaseModel): + value: Union[Value, Value3] + """ + All elements, including extra elements + """ + id: int + """ + integer id of this entry + """ + + +class AtomicElementsSchema(RootModel[List[AtomicElementSchema]]): + root: List[AtomicElementSchema] = Field(..., title="atomic elements schema") + """ + atomic elements schema + """ diff --git a/dist/py/properties_directory/structural/basis/atomic_label.py b/dist/py/properties_directory/structural/basis/atomic_label.py new file mode 100644 index 000000000..98702606c --- /dev/null +++ b/dist/py/properties_directory/structural/basis/atomic_label.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/atomic_label.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Union + +from pydantic import BaseModel, conint + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ diff --git a/dist/py/properties_directory/structural/basis/atomic_labels.py b/dist/py/properties_directory/structural/basis/atomic_labels.py new file mode 100644 index 000000000..88448918c --- /dev/null +++ b/dist/py/properties_directory/structural/basis/atomic_labels.py @@ -0,0 +1,27 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/atomic_labels.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Union + +from pydantic import BaseModel, Field, RootModel, conint + + +class AtomicLabelSchema(BaseModel): + value: Union[Union[int, str, float], conint(ge=1, le=9)] + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class AtomicLabelsSchema(RootModel[List[AtomicLabelSchema]]): + root: List[AtomicLabelSchema] = Field(..., title="atomic labels schema") + """ + atomic labels schema + """ diff --git a/dist/py/properties_directory/structural/basis/bonds.py b/dist/py/properties_directory/structural/basis/bonds.py new file mode 100644 index 000000000..6705f88c2 --- /dev/null +++ b/dist/py/properties_directory/structural/basis/bonds.py @@ -0,0 +1,40 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/bonds.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel + + +class ObjectWithId(BaseModel): + id: int + """ + integer id of this entry + """ + + +class BondType(Enum): + single = "single" + double = "double" + triple = "triple" + quadruple = "quadruple" + aromatic = "aromatic" + tautomeric = "tautomeric" + dative = "dative" + other = "other" + + +class BondsSchemaItem(BaseModel): + atomPair: Optional[List[ObjectWithId]] = Field(None, max_length=2, min_length=2, title="array of ids") + """ + indices of the two connected atoms + """ + bondType: Optional[BondType] = None + + +class BondsSchema(RootModel[List[BondsSchemaItem]]): + root: List[BondsSchemaItem] = Field(..., title="bonds schema") diff --git a/dist/py/properties_directory/structural/basis/boundary_conditions.py b/dist/py/properties_directory/structural/basis/boundary_conditions.py new file mode 100644 index 000000000..b290eb612 --- /dev/null +++ b/dist/py/properties_directory/structural/basis/boundary_conditions.py @@ -0,0 +1,30 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/boundary_conditions.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Name(Enum): + boundary_conditions = "boundary_conditions" + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditionsPropertySchema(BaseModel): + name: Name + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float diff --git a/dist/py/properties_directory/structural/basis/units_enum.py b/dist/py/properties_directory/structural/basis/units_enum.py new file mode 100644 index 000000000..f3c90423a --- /dev/null +++ b/dist/py/properties_directory/structural/basis/units_enum.py @@ -0,0 +1,12 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/basis/units_enum.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + + +class BasisUnitsEnum(Enum): + crystal = "crystal" + cartesian = "cartesian" diff --git a/dist/py/properties_directory/structural/density.py b/dist/py/properties_directory/structural/density.py new file mode 100644 index 000000000..2f55c455f --- /dev/null +++ b/dist/py/properties_directory/structural/density.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/density.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Name(Enum): + density = "density" + + +class Units(Enum): + g_cm_3 = "g/cm^3" + + +class DensitySchema(BaseModel): + name: Optional[Name] = None + units: Optional[Units] = None + value: float diff --git a/dist/py/properties_directory/structural/elemental_ratio.py b/dist/py/properties_directory/structural/elemental_ratio.py new file mode 100644 index 000000000..361a46ef4 --- /dev/null +++ b/dist/py/properties_directory/structural/elemental_ratio.py @@ -0,0 +1,23 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/elemental_ratio.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, confloat + + +class Name(Enum): + elemental_ratio = "elemental_ratio" + + +class ElementalRatio(BaseModel): + name: Optional[Name] = None + value: confloat(ge=0.0, le=1.0) + element: Optional[str] = None + """ + the element this ratio is for + """ diff --git a/dist/py/properties_directory/structural/inchi.py b/dist/py/properties_directory/structural/inchi.py new file mode 100644 index 000000000..27adce072 --- /dev/null +++ b/dist/py/properties_directory/structural/inchi.py @@ -0,0 +1,19 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/inchi.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Name(Enum): + inchi = "inchi" + + +class InChIRepresentationSchema(BaseModel): + name: Optional[Name] = None + value: str diff --git a/dist/py/properties_directory/structural/inchi_key.py b/dist/py/properties_directory/structural/inchi_key.py new file mode 100644 index 000000000..ed763cec0 --- /dev/null +++ b/dist/py/properties_directory/structural/inchi_key.py @@ -0,0 +1,19 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/inchi_key.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Name(Enum): + inchi_key = "inchi_key" + + +class InChIKeyRepresentationSchema(BaseModel): + name: Optional[Name] = None + value: str diff --git a/dist/py/properties_directory/structural/lattice/__init__.py b/dist/py/properties_directory/structural/lattice/__init__.py new file mode 100644 index 000000000..5cd9f9469 --- /dev/null +++ b/dist/py/properties_directory/structural/lattice/__init__.py @@ -0,0 +1,91 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/lattice.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" + + +class LatticeUnitsSchema(BaseModel): + length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") + angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") + + +class LatticeSchema(BaseModel): + a: float + """ + length of the first lattice vector + """ + b: float + """ + length of the second lattice vector + """ + c: float + """ + length of the third lattice vector + """ + alpha: float + """ + angle between first and second lattice vector + """ + beta: float + """ + angle between second and third lattice vector + """ + gamma: float + """ + angle between first and third lattice vector + """ + vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema") + type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum") + units: Optional[LatticeUnitsSchema] = Field( + default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}), + title="Lattice units schema", + ) diff --git a/dist/py/properties_directory/structural/lattice/type_enum.py b/dist/py/properties_directory/structural/lattice/type_enum.py new file mode 100644 index 000000000..16cb2dd8e --- /dev/null +++ b/dist/py/properties_directory/structural/lattice/type_enum.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/lattice/type_enum.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + + +class LatticeTypeEnum(Enum): + CUB = "CUB" + BCC = "BCC" + FCC = "FCC" + TET = "TET" + MCL = "MCL" + ORC = "ORC" + ORCC = "ORCC" + ORCF = "ORCF" + ORCI = "ORCI" + HEX = "HEX" + BCT = "BCT" + TRI = "TRI" + MCLC = "MCLC" + RHL = "RHL" diff --git a/dist/py/properties_directory/structural/lattice/type_extended_enum.py b/dist/py/properties_directory/structural/lattice/type_extended_enum.py new file mode 100644 index 000000000..1e55db812 --- /dev/null +++ b/dist/py/properties_directory/structural/lattice/type_extended_enum.py @@ -0,0 +1,35 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/lattice/type_extended_enum.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + + +class LatticeTypeExtendedEnum(Enum): + BCC = "BCC" + BCT_1 = "BCT-1" + BCT_2 = "BCT-2" + CUB = "CUB" + FCC = "FCC" + HEX = "HEX" + MCL = "MCL" + MCLC_1 = "MCLC-1" + MCLC_2 = "MCLC-2" + MCLC_3 = "MCLC-3" + MCLC_4 = "MCLC-4" + MCLC_5 = "MCLC-5" + ORC = "ORC" + ORCC = "ORCC" + ORCF_1 = "ORCF-1" + ORCF_2 = "ORCF-2" + ORCF_3 = "ORCF-3" + ORCI = "ORCI" + RHL_1 = "RHL-1" + RHL_2 = "RHL-2" + TET = "TET" + TRI_1a = "TRI_1a" + TRI_1b = "TRI_1b" + TRI_2a = "TRI_2a" + TRI_2b = "TRI_2b" diff --git a/src/py/mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py b/dist/py/properties_directory/structural/lattice/units/__init__.py similarity index 88% rename from src/py/mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py rename to dist/py/properties_directory/structural/lattice/units/__init__.py index 68ee92b3e..bddbd10c6 100644 --- a/src/py/mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py +++ b/dist/py/properties_directory/structural/lattice/units/__init__.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: properties_directory/structural/lattice/lattice_vectors.json +# filename: properties_directory/structural/lattice/units.json # version: 0.28.5 from __future__ import annotations diff --git a/dist/py/properties_directory/structural/lattice/units/angle_enum.py b/dist/py/properties_directory/structural/lattice/units/angle_enum.py new file mode 100644 index 000000000..a9765a96c --- /dev/null +++ b/dist/py/properties_directory/structural/lattice/units/angle_enum.py @@ -0,0 +1,12 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/lattice/units/angle_enum.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + + +class LatticeUnitsAngleEnum(Enum): + degree = "degree" + radian = "radian" diff --git a/dist/py/properties_directory/structural/lattice/units/length_enum.py b/dist/py/properties_directory/structural/lattice/units/length_enum.py new file mode 100644 index 000000000..aa897f4ee --- /dev/null +++ b/dist/py/properties_directory/structural/lattice/units/length_enum.py @@ -0,0 +1,12 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/lattice/units/length_enum.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + + +class LatticeUnitsLengthEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" diff --git a/dist/py/properties_directory/structural/lattice/vectors/__init__.py b/dist/py/properties_directory/structural/lattice/vectors/__init__.py new file mode 100644 index 000000000..bf9dd59d0 --- /dev/null +++ b/dist/py/properties_directory/structural/lattice/vectors/__init__.py @@ -0,0 +1,26 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/lattice/vectors.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" + + +class LatticeVectorsSchema(BaseModel): + a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + alat: Optional[float] = 1 + """ + lattice parameter for fractional coordinates + """ + units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum") diff --git a/dist/py/properties_directory/structural/lattice/vectors/units_enum.py b/dist/py/properties_directory/structural/lattice/vectors/units_enum.py new file mode 100644 index 000000000..e2b0084f8 --- /dev/null +++ b/dist/py/properties_directory/structural/lattice/vectors/units_enum.py @@ -0,0 +1,12 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/lattice/vectors/units_enum.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + + +class LatticeVectorsUnitsEnum(Enum): + angstrom = "angstrom" + bohr = "bohr" diff --git a/dist/py/properties_directory/structural/magnetic_moments.py b/dist/py/properties_directory/structural/magnetic_moments.py new file mode 100644 index 000000000..37445e903 --- /dev/null +++ b/dist/py/properties_directory/structural/magnetic_moments.py @@ -0,0 +1,35 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/magnetic_moments.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List + +from pydantic import BaseModel, Field + + +class Name(Enum): + magnetic_moments = "magnetic_moments" + + +class AtomicVectorSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class Units(Enum): + uB = "uB" + + +class MagneticMomentsPropertySchema(BaseModel): + name: Name + values: List[AtomicVectorSchema] = Field(..., title="atomic vectors schema") + units: Units diff --git a/dist/py/properties_directory/structural/molecular_pattern.py b/dist/py/properties_directory/structural/molecular_pattern.py new file mode 100644 index 000000000..eefe55903 --- /dev/null +++ b/dist/py/properties_directory/structural/molecular_pattern.py @@ -0,0 +1,70 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/molecular_pattern.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field, RootModel + + +class Name(Enum): + functional_group = "functional_group" + + +class ObjectWithId(BaseModel): + isConnector: Optional[bool] = None + """ + whether atom connects to atoms outside of functional group. + """ + id: int + """ + integer id of this entry + """ + + +class FunctionalGroupPatternSchema(BaseModel): + name: Name + atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") + """ + array of objects containing integer id each + """ + SMARTS: Optional[str] = None + """ + SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification + """ + + +class Name570(Enum): + ring = "ring" + + +class RingPatternSchema(BaseModel): + name: Name570 + atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") + """ + array of objects containing integer id each + """ + isAromatic: Optional[bool] = None + + +class Name571(Enum): + special_bond = "special_bond" + + +class SpecialBondPatternSchema(BaseModel): + name: Name571 + atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") + """ + array of objects containing integer id each + """ + + +class MolecularPatternSchema( + RootModel[List[Union[FunctionalGroupPatternSchema, RingPatternSchema, SpecialBondPatternSchema]]] +): + root: List[Union[FunctionalGroupPatternSchema, RingPatternSchema, SpecialBondPatternSchema]] = Field( + ..., title="molecular pattern schema" + ) diff --git a/dist/py/properties_directory/structural/p_norm.py b/dist/py/properties_directory/structural/p_norm.py new file mode 100644 index 000000000..2673873e3 --- /dev/null +++ b/dist/py/properties_directory/structural/p_norm.py @@ -0,0 +1,23 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/p_norm.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Name(Enum): + p_norm = "p-norm" + + +class PNorm(BaseModel): + name: Optional[Name] = None + degree: Optional[int] = None + """ + degree of the dimensionality of the norm + """ + value: float diff --git a/dist/py/properties_directory/structural/patterns/__init__.py b/dist/py/properties_directory/structural/patterns/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/properties_directory/structural/patterns/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/properties_directory/structural/patterns/functional_group.py b/dist/py/properties_directory/structural/patterns/functional_group.py new file mode 100644 index 000000000..6b2586c17 --- /dev/null +++ b/dist/py/properties_directory/structural/patterns/functional_group.py @@ -0,0 +1,37 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/patterns/functional_group.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class Name(Enum): + functional_group = "functional_group" + + +class ObjectWithId(BaseModel): + isConnector: Optional[bool] = None + """ + whether atom connects to atoms outside of functional group. + """ + id: int + """ + integer id of this entry + """ + + +class FunctionalGroupPatternSchema(BaseModel): + name: Name + atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") + """ + array of objects containing integer id each + """ + SMARTS: Optional[str] = None + """ + SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification + """ diff --git a/dist/py/properties_directory/structural/patterns/ring.py b/dist/py/properties_directory/structural/patterns/ring.py new file mode 100644 index 000000000..bb43e4471 --- /dev/null +++ b/dist/py/properties_directory/structural/patterns/ring.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/patterns/ring.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class Name(Enum): + ring = "ring" + + +class ObjectWithId(BaseModel): + isConnector: Optional[bool] = None + """ + whether atom connects to atoms outside of functional group. + """ + id: int + """ + integer id of this entry + """ + + +class RingPatternSchema(BaseModel): + name: Name + atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") + """ + array of objects containing integer id each + """ + isAromatic: Optional[bool] = None diff --git a/dist/py/properties_directory/structural/patterns/special_bond.py b/dist/py/properties_directory/structural/patterns/special_bond.py new file mode 100644 index 000000000..c5758f0ac --- /dev/null +++ b/dist/py/properties_directory/structural/patterns/special_bond.py @@ -0,0 +1,33 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/patterns/special_bond.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class Name(Enum): + special_bond = "special_bond" + + +class ObjectWithId(BaseModel): + isConnector: Optional[bool] = None + """ + whether atom connects to atoms outside of functional group. + """ + id: int + """ + integer id of this entry + """ + + +class SpecialBondPatternSchema(BaseModel): + name: Name + atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") + """ + array of objects containing integer id each + """ diff --git a/dist/py/properties_directory/structural/symmetry.py b/dist/py/properties_directory/structural/symmetry.py new file mode 100644 index 000000000..1474e02ec --- /dev/null +++ b/dist/py/properties_directory/structural/symmetry.py @@ -0,0 +1,39 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/symmetry.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Units(Enum): + angstrom = "angstrom" + + +class ScalarSchema(BaseModel): + units: Optional[Units] = None + value: float + + +class Name(Enum): + symmetry = "symmetry" + + +class SymmetrySchema(BaseModel): + pointGroupSymbol: Optional[str] = None + """ + point group symbol in Schoenflies notation + """ + spaceGroupSymbol: Optional[str] = None + """ + space group symbol in Hermann–Mauguin notation + """ + tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + tolerance used for symmetry calculation + """ + name: Optional[Name] = None diff --git a/dist/py/properties_directory/structural/volume.py b/dist/py/properties_directory/structural/volume.py new file mode 100644 index 000000000..05630d885 --- /dev/null +++ b/dist/py/properties_directory/structural/volume.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: properties_directory/structural/volume.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Name(Enum): + volume = "volume" + + +class Units(Enum): + angstrom_3 = "angstrom^3" + + +class VolumeSchema(BaseModel): + name: Optional[Name] = None + units: Optional[Units] = None + value: float diff --git a/dist/py/properties_directory/workflow/convergence/__init__.py b/dist/py/properties_directory/workflow/convergence/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/properties_directory/workflow/convergence/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/properties_directory/workflow/convergence/electronic.py b/dist/py/properties_directory/workflow/convergence/electronic.py new file mode 100644 index 000000000..b7a56ec14 --- /dev/null +++ b/dist/py/properties_directory/workflow/convergence/electronic.py @@ -0,0 +1,26 @@ +# generated by datamodel-codegen: +# filename: properties_directory/workflow/convergence/electronic.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List + +from pydantic import BaseModel + + +class Name(Enum): + convergence_electronic = "convergence_electronic" + + +class Units(Enum): + eV = "eV" + Ry = "Ry" + hartree = "hartree" + + +class ConvergenceElectronicPropertySchema(BaseModel): + name: Name + units: Units + data: List[List[float]] diff --git a/dist/py/properties_directory/workflow/convergence/ionic.py b/dist/py/properties_directory/workflow/convergence/ionic.py new file mode 100644 index 000000000..feeef6e64 --- /dev/null +++ b/dist/py/properties_directory/workflow/convergence/ionic.py @@ -0,0 +1,63 @@ +# generated by datamodel-codegen: +# filename: properties_directory/workflow/convergence/ionic.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel + + +class Name(Enum): + convergence_ionic = "convergence_ionic" + + +class Units(Enum): + eV = "eV" + + +class Units245(Enum): + eV = "eV" + Ry = "Ry" + hartree = "hartree" + + +class Electronic(BaseModel): + units: Optional[Units245] = None + """ + units for force tolerance + """ + data: Optional[List[float]] = None + + +class Datum(BaseModel): + energy: float + """ + converged electronic energy for this structure (last in `electronic`) + """ + structure: Optional[Dict[str, Any]] = None + """ + TODO: structural information at each step to be here + """ + electronic: Optional[Electronic] = None + """ + data about electronic at this ionic step + """ + + +class ConvergenceIonicPropertySchema(BaseModel): + name: Name + tolerance: Optional[Any] = None + """ + for ionic convergence tolerance shows force tolerance + """ + units: Units + """ + units for force tolerance + """ + data: List[Datum] + """ + energetic and structural information + """ diff --git a/dist/py/properties_directory/workflow/convergence/kpoint.py b/dist/py/properties_directory/workflow/convergence/kpoint.py new file mode 100644 index 000000000..d34e2a251 --- /dev/null +++ b/dist/py/properties_directory/workflow/convergence/kpoint.py @@ -0,0 +1,43 @@ +# generated by datamodel-codegen: +# filename: properties_directory/workflow/convergence/kpoint.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel + + +class Datum(BaseModel): + value: Any + """ + value of the property at this step + """ + grid: Dict[str, Any] + """ + information about the kpoint grid + """ + spacing: Optional[float] = None + """ + optional kpoint spacing information + """ + + +class ConvergenceSchemaForConvergingAPropertyWrtKpoints(BaseModel): + tolerance: Any + """ + tolerance for the property under investigation + """ + units: str + """ + units for the property under investigation + """ + property: Optional[str] = None + """ + name of the property under investigation + """ + data: List[Datum] + """ + kpoint grid and property information + """ diff --git a/dist/py/property/__init__.py b/dist/py/property/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/property/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/property/holder.py b/dist/py/property/holder.py new file mode 100644 index 000000000..95976a5d5 --- /dev/null +++ b/dist/py/property/holder.py @@ -0,0 +1,3565 @@ +# generated by datamodel-codegen: +# filename: property/holder.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel, conint, constr + + +class Name(Enum): + valence_band_offset = "valence_band_offset" + + +class Units(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units192(Enum): + eV_A_2 = "eV/A^2" + + +class ValenceBandOffsetPropertySchema(BaseModel): + name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + units: Union[Units, Units192] + value: float + + +class Name477(Enum): + zero_point_energy = "zero_point_energy" + + +class Units193(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units194(Enum): + eV_A_2 = "eV/A^2" + + +class ZeroPointEnergyPropertySchema(BaseModel): + name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + units: Union[Units193, Units194] + value: float + + +class Name478(Enum): + pressure = "pressure" + + +class Units195(Enum): + kbar = "kbar" + pa = "pa" + + +class PressurePropertySchema(BaseModel): + name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + units: Units195 + value: float + + +class Name479(Enum): + reaction_energy_barrier = "reaction_energy_barrier" + + +class Units196(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units197(Enum): + eV_A_2 = "eV/A^2" + + +class ReactionEnergyBarrierPropertySchema(BaseModel): + name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + units: Union[Units196, Units197] + value: float + + +class Name480(Enum): + surface_energy = "surface_energy" + + +class Units198(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units199(Enum): + eV_A_2 = "eV/A^2" + + +class SurfaceEnergyPropertySchema(BaseModel): + name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + units: Union[Units198, Units199] + value: float + + +class Name481(Enum): + total_energy = "total_energy" + + +class Units200(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units201(Enum): + eV_A_2 = "eV/A^2" + + +class TotalEnergyPropertySchema(BaseModel): + name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + units: Union[Units200, Units201] + value: float + + +class Name482(Enum): + total_force = "total_force" + + +class Units202(Enum): + eV_bohr = "eV/bohr" + eV_angstrom = "eV/angstrom" + Ry_a_u_ = "Ry/a.u." + newton = "newton" + kg_m_s_2 = "kg*m/s^2" + eV_a_u_ = "eV/a.u." + + +class TotalForcesPropertySchema(BaseModel): + name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + units: Units202 + value: float + + +class Name483(Enum): + fermi_energy = "fermi_energy" + + +class Units203(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units204(Enum): + eV_A_2 = "eV/A^2" + + +class FermiEnergyPropertySchema(BaseModel): + name: Literal["7#-datamodel-code-generator-#-object-#-special-#"] + units: Union[Units203, Units204] + value: float + + +class Name484(Enum): + ionization_potential = "ionization_potential" + + +class Units205(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class Units206(Enum): + eV_A_2 = "eV/A^2" + + +class IonizationPotentialScalarPropertySchema(BaseModel): + name: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + units: Union[Units205, Units206] + value: float + + +class ArrayOf3NumberElementsSchema(RootModel[List[float]]): + root: List[float] = Field(..., title="array of 3 number elements schema") + + +class Name485(Enum): + stress_tensor = "stress_tensor" + + +class Units207(Enum): + kbar = "kbar" + pa = "pa" + + +class StressTensorPropertySchema(BaseModel): + value: List[ArrayOf3NumberElementsSchema] = Field(..., max_length=3, min_length=3, title="matrix 3x3 schema") + name: Literal["9#-datamodel-code-generator-#-object-#-special-#"] + units: Units207 + + +class Name486(Enum): + band_gaps = "band_gaps" + + +class Type(Enum): + direct = "direct" + indirect = "indirect" + + +class Units208(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class BandGapSchema(BaseModel): + kpointConduction: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema") + """ + A k-point is a point in reciprocal space of a crystal. + """ + kpointValence: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema") + """ + A k-point is a point in reciprocal space of a crystal. + """ + eigenvalueConduction: Optional[float] = None + """ + eigenvalue at k-point in conduction band + """ + eigenvalueValence: Optional[float] = None + """ + eigenvalue at k-point in valence band + """ + spin: Optional[float] = None + type: Type + units: Optional[Units208] = None + value: float + + +class Eigenvalue(BaseModel): + spin: Optional[float] = None + energies: Optional[List] = None + occupations: Optional[List] = None + + +class Eigenvalue2(BaseModel): + kpoint: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema") + """ + A k-point is a point in reciprocal space of a crystal. + """ + weight: Optional[float] = None + eigenvalues: Optional[List[Eigenvalue]] = None + + +class BandGapsPropertySchema(BaseModel): + name: Literal["10#-datamodel-code-generator-#-object-#-special-#"] + values: List[BandGapSchema] + eigenvalues: Optional[List[Eigenvalue2]] = None + + +class Label(Enum): + kpoints = "kpoints" + + +class Units209(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AxisSchema(BaseModel): + label: Label + """ + label of an axis object + """ + units: Optional[Units209] = "crystal" + """ + units for an axis + """ + + +class Label9(Enum): + energy = "energy" + + +class Units210(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class AxisSchema12(BaseModel): + label: Label9 + """ + label of an axis object + """ + units: Optional[Units210] = None + """ + units for an axis + """ + + +class Name487(Enum): + band_structure = "band_structure" + + +class SpinEnum(Enum): + number_0_5 = 0.5 + number__0_5 = -0.5 + + +class BandStructurePropertySchema(BaseModel): + xAxis: AxisSchema = Field(..., title="axis schema") + yAxis: AxisSchema12 = Field(..., title="axis schema") + name: Literal["11#-datamodel-code-generator-#-object-#-special-#"] + spin: List[SpinEnum] + """ + spin of each band + """ + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") + + +class Label10(Enum): + qpoints = "qpoints" + + +class Units211(Enum): + crystal = "crystal" + cartesian = "cartesian" + + +class AxisSchema13(BaseModel): + label: Label10 + """ + label of an axis object + """ + units: Optional[Units211] = "crystal" + """ + units for an axis + """ + + +class Label11(Enum): + frequency = "frequency" + + +class Units212(Enum): + cm_1 = "cm-1" + THz = "THz" + meV = "meV" + + +class AxisSchema14(BaseModel): + label: Label11 + """ + label of an axis object + """ + units: Optional[Units212] = None + """ + units for an axis + """ + + +class Name488(Enum): + phonon_dispersions = "phonon_dispersions" + + +class PhononBandStructurePropertySchema(BaseModel): + xAxis: AxisSchema13 = Field(..., title="axis schema") + yAxis: AxisSchema14 = Field(..., title="axis schema") + name: Literal["12#-datamodel-code-generator-#-object-#-special-#"] + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") + + +class Name489(Enum): + temperature_entropy = "temperature_entropy" + + +class ScalarSchema(BaseModel): + name: Optional[Name489] = None + value: float + + +class Name490(Enum): + harris_foulkes = "harris_foulkes" + + +class ScalarSchema58(BaseModel): + name: Optional[Name490] = None + value: float + + +class Name491(Enum): + smearing = "smearing" + + +class ScalarSchema59(BaseModel): + name: Optional[Name491] = None + value: float + + +class Name492(Enum): + one_electron = "one_electron" + + +class ScalarSchema60(BaseModel): + name: Optional[Name492] = None + value: float + + +class Name493(Enum): + hartree = "hartree" + + +class ScalarSchema61(BaseModel): + name: Optional[Name493] = None + value: float + + +class Name494(Enum): + exchange = "exchange" + + +class ScalarSchema62(BaseModel): + name: Optional[Name494] = None + value: float + + +class Name495(Enum): + exchange_correlation = "exchange_correlation" + + +class ScalarSchema63(BaseModel): + name: Optional[Name495] = None + value: float + + +class Name496(Enum): + ewald = "ewald" + + +class ScalarSchema64(BaseModel): + name: Optional[Name496] = None + value: float + + +class Name497(Enum): + alphaZ = "alphaZ" + + +class ScalarSchema65(BaseModel): + name: Optional[Name497] = None + value: float + + +class Name498(Enum): + atomic_energy = "atomic_energy" + + +class ScalarSchema66(BaseModel): + name: Optional[Name498] = None + value: float + + +class Name499(Enum): + eigenvalues = "eigenvalues" + + +class ScalarSchema67(BaseModel): + name: Optional[Name499] = None + value: float + + +class Name500(Enum): + PAW_double_counting_correction_2 = "PAW_double-counting_correction_2" + + +class ScalarSchema68(BaseModel): + name: Optional[Name500] = None + value: float + + +class Name501(Enum): + PAW_double_counting_correction_3 = "PAW_double-counting_correction_3" + + +class ScalarSchema69(BaseModel): + name: Optional[Name501] = None + value: float + + +class Name502(Enum): + hartree_fock = "hartree_fock" + + +class ScalarSchema70(BaseModel): + name: Optional[Name502] = None + value: float + + +class Name503(Enum): + total_energy_contributions = "total_energy_contributions" + + +class Units213(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class TotalEnergyContributionsPropertySchema(BaseModel): + temperatureEntropy: Optional[ScalarSchema] = Field(None, title="scalar schema") + """ + product of temperature and configurational entropy + """ + harris_foulkes: Optional[ScalarSchema58] = Field(None, title="scalar schema") + """ + non self-consitent energy based on an input charge density + """ + smearing: Optional[ScalarSchema59] = Field(None, title="scalar schema") + """ + smearing energy + """ + one_electron: Optional[ScalarSchema60] = Field(None, title="scalar schema") + """ + kinetic + pseudopotential energy + """ + hartree: Optional[ScalarSchema61] = Field(None, title="scalar schema") + """ + energy due to coulomb potential + """ + exchange: Optional[ScalarSchema62] = Field(None, title="scalar schema") + """ + exchange energy + """ + exchange_correlation: Optional[ScalarSchema63] = Field(None, title="scalar schema") + """ + exchange and correlation energy per particle + """ + ewald: Optional[ScalarSchema64] = Field(None, title="scalar schema") + """ + summation of interaction energies at long length scales due to coloumbic interactions + """ + alphaZ: Optional[ScalarSchema65] = Field(None, title="scalar schema") + """ + divergent electrostatic ion interaction in compensating electron gas + """ + atomicEnergy: Optional[ScalarSchema66] = Field(None, title="scalar schema") + """ + kinetic energy of wavefunctions in the atomic limit + """ + eigenvalues: Optional[ScalarSchema67] = Field(None, title="scalar schema") + """ + sum of one electron energies of kinetic, electrostatic, and exchange correlation + """ + PAWDoubleCounting2: Optional[ScalarSchema68] = Field(None, title="scalar schema") + """ + double counting correction 2 + """ + PAWDoubleCounting3: Optional[ScalarSchema69] = Field(None, title="scalar schema") + """ + double counting correction 3 + """ + hartreeFock: Optional[ScalarSchema70] = Field(None, title="scalar schema") + """ + hartree-fock contribution + """ + name: Literal["13#-datamodel-code-generator-#-object-#-special-#"] + units: Optional[Units213] = None + + +class Units214(Enum): + cm_1 = "cm-1" + THz = "THz" + meV = "meV" + + +class AxisSchema15(BaseModel): + label: Label11 + """ + label of an axis object + """ + units: Optional[Units214] = None + """ + units for an axis + """ + + +class Label13(Enum): + Phonon_DOS = "Phonon DOS" + + +class Units215(Enum): + states_cm_1 = "states/cm-1" + states_THz = "states/THz" + states_meV = "states/meV" + + +class AxisSchema16(BaseModel): + label: Label13 + """ + label of an axis object + """ + units: Optional[Units215] = None + """ + units for an axis + """ + + +class Name504(Enum): + phonon_dos = "phonon_dos" + + +class PhononDensityOfStatesPropertySchema(BaseModel): + xAxis: AxisSchema15 = Field(..., title="axis schema") + yAxis: AxisSchema16 = Field(..., title="axis schema") + name: Literal["14#-datamodel-code-generator-#-object-#-special-#"] + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") + + +class Label14(Enum): + z_coordinate = "z coordinate" + + +class AxisSchema17(BaseModel): + label: Label14 + """ + label of an axis object + """ + units: Optional[str] = None + """ + units for an axis + """ + + +class Label15(Enum): + energy = "energy" + + +class Units216(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class AxisSchema18(BaseModel): + label: Label15 + """ + label of an axis object + """ + units: Optional[Units216] = None + """ + units for an axis + """ + + +class Name505(Enum): + potential_profile = "potential_profile" + + +class PotentialProfilePropertySchema(BaseModel): + xAxis: AxisSchema17 = Field(..., title="axis schema") + yAxis: AxisSchema18 = Field(..., title="axis schema") + name: Literal["15#-datamodel-code-generator-#-object-#-special-#"] + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") + + +class Label16(Enum): + reaction_coordinate = "reaction coordinate" + + +class AxisSchema19(BaseModel): + label: Label16 + """ + label of an axis object + """ + units: Optional[str] = None + """ + units for an axis + """ + + +class Label17(Enum): + energy = "energy" + + +class AxisSchema20(BaseModel): + label: Label17 + """ + label of an axis object + """ + units: Optional[Units216] = None + """ + units for an axis + """ + + +class Name506(Enum): + reaction_energy_profile = "reaction_energy_profile" + + +class ReactionEnergyProfilePropertySchema(BaseModel): + xAxis: AxisSchema19 = Field(..., title="axis schema") + yAxis: AxisSchema20 = Field(..., title="axis schema") + name: Literal["16#-datamodel-code-generator-#-object-#-special-#"] + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") + + +class AxisSchema21(BaseModel): + label: Label17 + """ + label of an axis object + """ + units: Optional[Units216] = None + """ + units for an axis + """ + + +class Label19(Enum): + density_of_states = "density of states" + + +class Units219(Enum): + states_unitcell = "states/unitcell" + + +class AxisSchema22(BaseModel): + label: Label19 + """ + label of an axis object + """ + units: Optional[Units219] = None + """ + units for an axis + """ + + +class Name507(Enum): + density_of_states = "density_of_states" + + +class Spin(Enum): + number_0_5 = 0.5 + number__0_5 = -0.5 + + +class LegendItem(BaseModel): + element: Optional[str] = None + """ + chemical element + """ + index: Optional[int] = None + """ + index inside sub-array of atoms of the same element type + """ + electronicState: Optional[constr(pattern=r"^([1-5]{1})?(s|p|d|f|g).*$")] = None + """ + electronic character and shell of PDOS, such as `1s` or `s`, or `total` + """ + spin: Optional[Spin] = None + """ + spin of the electronic state + """ + + +class DensityOfStatesPropertySchema(BaseModel): + xAxis: AxisSchema21 = Field(..., title="axis schema") + yAxis: AxisSchema22 = Field(..., title="axis schema") + name: Literal["17#-datamodel-code-generator-#-object-#-special-#"] + legend: List[LegendItem] + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") + + +class Name508(Enum): + dielectric_tensor = "dielectric_tensor" + + +class Part(Enum): + real = "real" + imaginary = "imaginary" + + +class DielectricTensor(BaseModel): + part: Part + """ + Real or imaginary part of the dielectric tensor component + """ + spin: Optional[float] = None + frequencies: List[float] + """ + Frequencies + """ + components: List[List[float]] + """ + Matrix with 3 columns, e.g. x, y, z + """ + + +class DielectricTensorPropertySchema(BaseModel): + name: Literal["18#-datamodel-code-generator-#-object-#-special-#"] + values: List[DielectricTensor] + + +class Name509(Enum): + file_content = "file_content" + + +class Filetype(Enum): + image = "image" + text = "text" + csv = "csv" + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class FileContentPropertySchema(BaseModel): + name: Literal["19#-datamodel-code-generator-#-object-#-special-#"] + filetype: Filetype + """ + What kind of file this is, e.g. image / text + """ + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + + +class Name510(Enum): + hubbard_u = "hubbard_u" + + +class Units220(Enum): + eV = "eV" + + +class AtomicDataPerOrbitalNumeric(BaseModel): + id: int + """ + Site number or index in the lattice + """ + atomicSpecies: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") + """ + Example: Co1, Mn + """ + orbitalName: constr(pattern=r"^[1-7][sSpPdDfF]$") + value: float + """ + Value related to a specific property, e.g., Hubbard U, V etc. + """ + + +class HubbardUParametersPropertySchema(BaseModel): + name: Literal["20#-datamodel-code-generator-#-object-#-special-#"] + units: Units220 + values: List[AtomicDataPerOrbitalNumeric] + + +class Name511(Enum): + hubbard_v = "hubbard_v" + + +class AtomicDataPerOrbitalPairNumeric(BaseModel): + id: int + """ + Site number or index in the lattice + """ + id2: int + """ + Site number or index in the lattice of second site + """ + atomicSpecies: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") + """ + Example: Co1, Mn + """ + atomicSpecies2: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") + """ + Example: Co2, O + """ + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + orbitalName2: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + distance: Optional[float] = None + """ + Distance between two sites in Bohr. + """ + value: float + """ + Value related to a specific property, e.g., Hubbard U, V etc. + """ + + +class HubbardVParametersPropertySchema(BaseModel): + name: Literal["21#-datamodel-code-generator-#-object-#-special-#"] + units: Units220 + values: List[AtomicDataPerOrbitalPairNumeric] + + +class Name512(Enum): + hubbard_v_nn = "hubbard_v_nn" + + +class HubbardVNNParametersPropertySchema(BaseModel): + name: Literal["22#-datamodel-code-generator-#-object-#-special-#"] + units: Units220 + values: List[AtomicDataPerOrbitalPairNumeric] + + +class Label20(Enum): + z_coordinate = "z coordinate" + + +class Units223(Enum): + km = "km" + m = "m" + cm = "cm" + mm = "mm" + um = "um" + nm = "nm" + angstrom = "angstrom" + a_u_ = "a.u." + bohr = "bohr" + pm = "pm" + + +class AxisSchema23(BaseModel): + label: Label20 + """ + label of an axis object + """ + units: Optional[Units223] = None + """ + units for an axis + """ + + +class Label21(Enum): + energy = "energy" + + +class Units224(Enum): + kJ_mol = "kJ/mol" + eV = "eV" + J_mol = "J/mol" + hartree = "hartree" + cm_1 = "cm-1" + Ry = "Ry" + eV_atom = "eV/atom" + + +class AxisSchema24(BaseModel): + label: Label21 + """ + label of an axis object + """ + units: Optional[Units224] = None + """ + units for an axis + """ + + +class Name513(Enum): + average_potential_profile = "average_potential_profile" + + +class AveragePotentialProfilePropertySchema(BaseModel): + xAxis: AxisSchema23 = Field(..., title="axis schema") + yAxis: AxisSchema24 = Field(..., title="axis schema") + name: Literal["23#-datamodel-code-generator-#-object-#-special-#"] + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") + + +class Label22(Enum): + z_coordinate = "z coordinate" + + +class AxisSchema25(BaseModel): + label: Label22 + """ + label of an axis object + """ + units: Optional[str] = None + """ + units for an axis + """ + + +class Label23(Enum): + charge_density = "charge density" + + +class Units225(Enum): + e_A = "e/A" + + +class AxisSchema26(BaseModel): + label: Label23 + """ + label of an axis object + """ + units: Optional[Units225] = None + """ + units for an axis + """ + + +class Name514(Enum): + charge_density_profile = "charge_density_profile" + + +class ChargeDensityProfilePropertySchema(BaseModel): + xAxis: AxisSchema25 = Field(..., title="axis schema") + yAxis: AxisSchema26 = Field(..., title="axis schema") + name: Literal["24#-datamodel-code-generator-#-object-#-special-#"] + xDataArray: List[Union[float, List[float]]] + """ + array containing values of x Axis + """ + yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") + + +class Name515(Enum): + workflow_pyml_predict = "workflow:pyml_predict" + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type79(Enum): + io = "io" + + +class Subtype(Enum): + input = "input" + output = "output" + dataFrame = "dataFrame" + + +class Source(Enum): + api = "api" + db = "db" + object_storage = "object_storage" + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema3(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema3], + ObjectStorageIoSchema, + ] + ] + + +class Type80(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + +class ReduceUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type81(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class ConditionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type82(Enum): + assertion = "assertion" + + +class AssertionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type83(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type84(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type85(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class WorkflowSubworkflowUnitSchema( + RootModel[ + Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] = Field(..., discriminator="type", title="workflow subworkflow unit schema") + + +class BaseMethod(BaseModel): + type: str + """ + general type of this method, eg. `pseudopotential` + """ + subtype: str + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ + + +class BaseModelModel(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: str + """ + general type of the model, eg. `dft` + """ + subtype: str + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") + + +class Queue(Enum): + D = "D" + OR = "OR" + OF = "OF" + OFplus = "OFplus" + SR = "SR" + SF = "SF" + SFplus = "SFplus" + GPOF = "GPOF" + GP2OF = "GP2OF" + GP4OF = "GP4OF" + GPSF = "GPSF" + GP2SF = "GP2SF" + GP4SF = "GP4SF" + OR4 = "OR4" + OR8 = "OR8" + OR16 = "OR16" + SR4 = "SR4" + SR8 = "SR8" + SR16 = "SR16" + GOF = "GOF" + G4OF = "G4OF" + G8OF = "G8OF" + GSF = "GSF" + G4SF = "G4SF" + G8SF = "G8SF" + + +class TimeLimitType(Enum): + per_single_attempt = "per single attempt" + compound = "compound" + + +class QuantumEspressoArgumentsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nimage: Optional[conint(ge=1, le=100)] = 1 + """ + Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others. + """ + npools: Optional[conint(ge=1, le=100)] = 1 + """ + Each image can be subpartitioned into `pools`, each taking care of a group of k-points. + """ + nband: Optional[conint(ge=1, le=100)] = 1 + """ + Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions). + """ + ntg: Optional[conint(ge=1, le=100)] = 1 + """ + In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time. + """ + ndiag: Optional[conint(ge=1, le=100)] = 1 + """ + A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations. + """ + + +class Cluster(BaseModel): + fqdn: Optional[str] = None + """ + FQDN of the cluster. e.g. master-1-staging.exabyte.io + """ + jid: Optional[str] = None + """ + Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io + """ + + +class Domain(Enum): + rupy = "rupy" + alfred = "alfred" + celim = "celim" + webapp = "webapp" + + +class Error(BaseModel): + domain: Optional[Domain] = None + """ + Domain of the error appearance (internal). + """ + reason: Optional[str] = None + """ + Should be a short, unique, machine-readable error code string. e.g. FileNotFound + """ + message: Optional[str] = None + """ + Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json' + """ + traceback: Optional[str] = None + """ + Full machine-readable error traceback. e.g. FileNotFound + """ + + +class ComputeArgumentsSchema(BaseModel): + queue: Queue + """ + Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication. + """ + nodes: int + """ + number of nodes used for the job inside the RMS. + """ + ppn: int + """ + number of CPUs used for the job inside the RMS. + """ + timeLimit: str + """ + Wallclock time limit for computing a job. Clock format: 'hh:mm:ss' + """ + timeLimitType: Optional[TimeLimitType] = "per single attempt" + """ + Convention to use when reasoning about time limits + """ + isRestartable: Optional[bool] = True + """ + Job is allowed to restart on termination. + """ + notify: Optional[str] = None + """ + Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined. + """ + email: Optional[str] = None + """ + Email address to notify about job execution. + """ + maxCPU: Optional[int] = None + """ + Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user. + """ + arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema") + """ + Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere + """ + cluster: Optional[Cluster] = None + """ + Cluster where the job is executed. Optional on create. Required on job submission. + """ + errors: Optional[List[Error]] = None + """ + Computation error. Optional. Appears only if something happens on jobs execution. + """ + excludeFilesPattern: Optional[str] = None + """ + A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix + """ + + +class Subworkflow(BaseModel): + units: List[WorkflowSubworkflowUnitSchema] + """ + Contains the Units of the subworkflow + """ + model: BaseModelModel = Field(..., title="base model") + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + isDraft: Optional[bool] = False + """ + Defines whether to store the results/properties extracted in this unit to properties collection + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + subworkflow identity + """ + name: str + """ + Human-readable name of the subworkflow. e.g. Total-energy + """ + properties: Optional[List[str]] = None + """ + Array of characteristic properties calculated by this subworkflow + """ + compute: Optional[ComputeArgumentsSchema] = Field(None, title="compute arguments schema") + """ + Custom keywords prefixed with validate correspond to custom validation methods implemented downstream + """ + + +class Type86(Enum): + io = "io" + + +class DataIODatabaseInputOutputSchema4(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema5(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageIoSchema1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema4, DataIODatabaseInputOutputSchema5], + ObjectStorageIoSchema1, + ] + ] + + +class Type87(Enum): + reduce = "reduce" + + +class ReduceUnitSchema1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type88(Enum): + condition = "condition" + + +class ConditionUnitSchema2(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type89(Enum): + assertion = "assertion" + + +class AssertionUnitSchema2(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type90(Enum): + execution = "execution" + + +class ExecutableSchema6(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class FlavorSchema6(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase2(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema6] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema6] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type91(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema2(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type92(Enum): + processing = "processing" + + +class ProcessingUnitSchema1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class Type93(Enum): + map = "map" + + +class Input(BaseModel): + target: str + """ + Name of the target variable to substitute using the values below. e.g. K_POINTS + """ + scope: Optional[str] = None + """ + Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. + """ + name: Optional[str] = None + """ + Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. + """ + values: Optional[List[Union[str, float, Dict[str, Any]]]] = None + """ + Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution + """ + useValues: Optional[bool] = None + + +class MapUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ + + +class Type94(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + + +class WorkflowUnitSchema( + RootModel[ + Union[ + DataIOUnitSchema1, + ReduceUnitSchema1, + ConditionUnitSchema2, + AssertionUnitSchema2, + ExecutionUnitSchemaBase2, + AssignmentUnitSchema2, + ProcessingUnitSchema1, + MapUnitSchema, + SubworkflowUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema1, + ReduceUnitSchema1, + ConditionUnitSchema2, + AssertionUnitSchema2, + ExecutionUnitSchemaBase2, + AssignmentUnitSchema2, + ProcessingUnitSchema1, + MapUnitSchema, + SubworkflowUnitSchema, + ] = Field(..., discriminator="type", title="workflow unit schema") + + +class WorkflowPropertySchema(BaseModel): + name: Literal["25#-datamodel-code-generator-#-object-#-special-#"] + """ + entity name + """ + subworkflows: List[Subworkflow] + """ + Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting + """ + units: List[WorkflowUnitSchema] + """ + Contains the Units of the Workflow + """ + properties: Optional[List[Union[str, Dict[str, Any]]]] = None + """ + Array of characteristic properties calculated by this workflow (TODO: add enums) + """ + isUsingDataset: Optional[bool] = None + """ + Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab. + """ + workflows: Optional[List[Dict[str, Any]]] = None + """ + Array of workflows with the same schema as the current one. + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + metadata: Optional[Dict[str, Any]] = None + + +class Name516(Enum): + magnetic_moments = "magnetic_moments" + + +class AtomicVectorSchema(BaseModel): + value: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class Units226(Enum): + uB = "uB" + + +class MagneticMomentsPropertySchema(BaseModel): + name: Literal["26#-datamodel-code-generator-#-object-#-special-#"] + values: List[AtomicVectorSchema] = Field(..., title="atomic vectors schema") + units: Units226 + + +class Name517(Enum): + atomic_forces = "atomic_forces" + + +class Units227(Enum): + eV_bohr = "eV/bohr" + eV_angstrom = "eV/angstrom" + Ry_a_u_ = "Ry/a.u." + newton = "newton" + kg_m_s_2 = "kg*m/s^2" + eV_a_u_ = "eV/a.u." + + +class AtomicForcesPropertySchema(BaseModel): + name: Literal["27#-datamodel-code-generator-#-object-#-special-#"] + values: List[AtomicVectorSchema] = Field(..., title="atomic vectors schema") + units: Units227 + + +class Name518(Enum): + convergence_electronic = "convergence_electronic" + + +class Units228(Enum): + eV = "eV" + Ry = "Ry" + hartree = "hartree" + + +class ConvergenceElectronicPropertySchema(BaseModel): + name: Literal["28#-datamodel-code-generator-#-object-#-special-#"] + units: Units228 + data: List[List[float]] + + +class Name519(Enum): + convergence_ionic = "convergence_ionic" + + +class Units229(Enum): + eV = "eV" + + +class Units230(Enum): + eV = "eV" + Ry = "Ry" + hartree = "hartree" + + +class Electronic(BaseModel): + units: Optional[Units230] = None + """ + units for force tolerance + """ + data: Optional[List[float]] = None + + +class Datum(BaseModel): + energy: float + """ + converged electronic energy for this structure (last in `electronic`) + """ + structure: Optional[Dict[str, Any]] = None + """ + TODO: structural information at each step to be here + """ + electronic: Optional[Electronic] = None + """ + data about electronic at this ionic step + """ + + +class ConvergenceIonicPropertySchema(BaseModel): + name: Literal["29#-datamodel-code-generator-#-object-#-special-#"] + tolerance: Optional[Any] = None + """ + for ionic convergence tolerance shows force tolerance + """ + units: Units229 + """ + units for force tolerance + """ + data: List[Datum] + """ + energetic and structural information + """ + + +class Name520(Enum): + is_relaxed = "is_relaxed" + + +class IsRelaxedPropertySchema(BaseModel): + name: Literal["30#-datamodel-code-generator-#-object-#-special-#"] + value: bool + materialId: str + """ + Material's identity + """ + + +class Name521(Enum): + final_structure = "final_structure" + + +class FinalStructurePropertySchema(BaseModel): + name: Literal["31#-datamodel-code-generator-#-object-#-special-#"] + isRelaxed: bool + materialId: str + """ + Material's identity + """ + + +class Name522(Enum): + jupyter_notebook_endpoint = "jupyter_notebook_endpoint" + + +class JupyterNotebookEndpointPropertySchema(BaseModel): + name: Literal["32#-datamodel-code-generator-#-object-#-special-#"] + host: str + port: float + token: str + + +class Info(BaseModel): + jobId: str + """ + Job's identity + """ + unitId: str + """ + Id of the unit that extracted the result + """ + + +class Source58(BaseModel): + type: str + """ + Type of the material property's source. + """ + info: Info + + +class Precision(BaseModel): + value: Optional[float] = None + metric: Optional[str] = None + + +class SystemTag(Enum): + isRefined = "isRefined" + isBest = "isBest" + + +class PropertyHolderSchema(BaseModel): + group: Optional[str] = None + """ + property group, e.g. qe:dft:gga:pbe + """ + data: Union[ + ValenceBandOffsetPropertySchema, + ZeroPointEnergyPropertySchema, + PressurePropertySchema, + ReactionEnergyBarrierPropertySchema, + SurfaceEnergyPropertySchema, + TotalEnergyPropertySchema, + TotalForcesPropertySchema, + FermiEnergyPropertySchema, + IonizationPotentialScalarPropertySchema, + StressTensorPropertySchema, + BandGapsPropertySchema, + BandStructurePropertySchema, + PhononBandStructurePropertySchema, + TotalEnergyContributionsPropertySchema, + PhononDensityOfStatesPropertySchema, + PotentialProfilePropertySchema, + ReactionEnergyProfilePropertySchema, + DensityOfStatesPropertySchema, + DielectricTensorPropertySchema, + FileContentPropertySchema, + HubbardUParametersPropertySchema, + HubbardVParametersPropertySchema, + HubbardVNNParametersPropertySchema, + AveragePotentialProfilePropertySchema, + ChargeDensityProfilePropertySchema, + WorkflowPropertySchema, + MagneticMomentsPropertySchema, + AtomicForcesPropertySchema, + ConvergenceElectronicPropertySchema, + ConvergenceIonicPropertySchema, + IsRelaxedPropertySchema, + FinalStructurePropertySchema, + JupyterNotebookEndpointPropertySchema, + ] = Field(..., discriminator="name") + """ + container of the information, specific to each property + """ + source: Source58 + exabyteId: List[str] + """ + Id of the corresponding item in the entity bank that this property is obtained for + """ + precision: Optional[Precision] = None + systemTags: Optional[List[SystemTag]] = None + """ + property system tags, marks property system characteristics, values refined or best (could be both) + """ + repetition: float + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ diff --git a/dist/py/property/meta_holder.py b/dist/py/property/meta_holder.py new file mode 100644 index 000000000..e49ac2c29 --- /dev/null +++ b/dist/py/property/meta_holder.py @@ -0,0 +1,140 @@ +# generated by datamodel-codegen: +# filename: property/meta_holder.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field, confloat, conint, constr + +from .Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e import ( + g, +) + + +class Type(Enum): + us = "us" + nc = "nc" + nc_fr = "nc-fr" + paw = "paw" + coulomb = "coulomb" + + +class ExchangeCorrelation(BaseModel): + approximation: Optional[str] = None + """ + DFT approximation + """ + functional: Optional[str] = None + """ + Exchange correlation functional + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ + + +class AtomicOrbitalSchema(BaseModel): + orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None + orbitalIndex: Optional[conint(ge=1)] = None + principalNumber: Optional[conint(ge=1, le=7)] = None + angularMomentum: Optional[conint(ge=0, le=3)] = None + occupation: Optional[confloat(ge=0.0, le=14.0)] = None + """ + Shell occupation + """ + + +class Name(Enum): + pseudopotential = "pseudopotential" + + +class Cutoffs(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + wavefunction: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None + """ + Energy cutoff values for wavefunction plane wave expansion. + """ + density: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None + """ + Energy cutoff values for charge density plane wave expansion. + """ + + +class FileDataItem(BaseModel): + element: str + """ + chemical element + """ + hash: str + """ + MD5 hash of the pseudopotential file + """ + type: Type + source: str + """ + explains where this came from + """ + version: Optional[str] = None + """ + explains the version of where this came from + """ + exchangeCorrelation: ExchangeCorrelation + valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None + """ + contains pseudo orbital information, including orbital names and occupations + """ + path: str + """ + location of the pseudopotential file on filesystem + """ + apps: List[str] + """ + The names of the simulation engines that can use this pseudopotential, e.g. espresso + """ + filename: Optional[str] = None + """ + filename of pseudopotential file on filesystem + """ + name: Name + """ + name of the data category + """ + cutoffs: Optional[Cutoffs] = None + """ + Suggested cutoff values for wave function and charge density. + """ + + +class Source(BaseModel): + type: str + """ + Type of the material property's source. + """ + info: Optional[Dict[str, Any]] = None + + +class MetaPropertyHolderSchema(BaseModel): + data: FileDataItem + """ + container of the information, specific to each property + """ + source: Source + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ diff --git a/dist/py/property/meta_holder/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py b/dist/py/property/meta_holder/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/property/meta_holder/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/property/meta_holder/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py b/dist/py/property/meta_holder/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py new file mode 100644 index 000000000..2d186ecf8 --- /dev/null +++ b/dist/py/property/meta_holder/Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e/g.py @@ -0,0 +1,31 @@ +# generated by datamodel-codegen: +# filename: property/meta_holder.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Unit(Enum): + Ry = "Ry" + + +class AccuracyLevel(Enum): + standard = "standard" + low = "low" + high = "high" + + +class FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs(BaseModel): + unit: Unit + """ + Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry. + """ + accuracy_level: AccuracyLevel + """ + Accuracy level determines suggested scalar value. + """ + value: float diff --git a/dist/py/property/proto_holder.py b/dist/py/property/proto_holder.py new file mode 100644 index 000000000..4c7076627 --- /dev/null +++ b/dist/py/property/proto_holder.py @@ -0,0 +1,86 @@ +# generated by datamodel-codegen: +# filename: property/proto_holder.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel, Field + + +class Name(Enum): + atomic_constraints = "atomic_constraints" + + +class AtomicConstraintSchema(BaseModel): + value: List[bool] = Field(..., title="vector boolean 3d schema") + """ + value of this entry + """ + id: int + """ + integer id of this entry + """ + + +class AtomicConstraintsPropertySchema(BaseModel): + name: Name + values: List[AtomicConstraintSchema] = Field(..., title="atomic constraints schema") + """ + atomic constraints schema + """ + + +class Name635(Enum): + boundary_conditions = "boundary_conditions" + + +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + +class BoundaryConditionsPropertySchema(BaseModel): + name: Name635 + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: float + + +class Info(BaseModel): + materialId: Optional[str] = None + + +class Source(BaseModel): + type: str + """ + Type of the material property's source. + """ + info: Info + + +class ProtoPropertyHolderSchema(BaseModel): + data: Union[AtomicConstraintsPropertySchema, BoundaryConditionsPropertySchema] + """ + container of the information, specific to each property + """ + source: Source + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ diff --git a/src/py/mat3ra/esse/models/property/raw.py b/dist/py/property/source.py similarity index 74% rename from src/py/mat3ra/esse/models/property/raw.py rename to dist/py/property/source.py index 5e9e4ec92..2fb4bb0bd 100644 --- a/src/py/mat3ra/esse/models/property/raw.py +++ b/dist/py/property/source.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: property/raw.json +# filename: property/source.json # version: 0.28.5 from __future__ import annotations @@ -62,7 +62,7 @@ class LocationSchema(BaseModel): """ -class Type71(Enum): +class Type155(Enum): literature = "literature" @@ -72,7 +72,7 @@ class PagesSchema(BaseModel): class LiteratureReferenceSchema(BaseModel): - type: Optional[Type71] = None + type: Optional[Type155] = None doi: Optional[str] = None """ Digital Object Identifier of the reference. @@ -171,46 +171,3 @@ class PropertySourceSchema(BaseModel): Internet address of the reference. """ info: Union[Info, InfoForCharacteristicObtainedByExperiment] - - -class SystemTag(Enum): - isRefined = "isRefined" - isBest = "isBest" - - -class PropertyRawSchema(BaseModel): - slug: Optional[str] = None - """ - property slug, e.g. total_energy - """ - group: Optional[str] = None - """ - property group, e.g. qe:dft:gga:pbe - """ - data: Dict[str, Any] - """ - container of the information, specific to each property - """ - source: PropertySourceSchema = Field(..., title="Property source schema") - exabyteId: Optional[List[str]] = None - """ - Id of the corresponding item in the entity bank that this property is obtained for - """ - precision: Optional[Dict[str, Any]] = None - count: Optional[float] = None - """ - total number of properties among which this property is the best. - """ - systemTags: Optional[List[SystemTag]] = None - """ - property system tags, marks property system characteristics, values refined or best (could be both) - """ - field_id: Optional[str] = Field(None, alias="_id") - """ - entity identity - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ diff --git a/dist/py/software/__init__.py b/dist/py/software/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/software/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/software/application.py b/dist/py/software/application.py new file mode 100644 index 000000000..e6b030f83 --- /dev/null +++ b/dist/py/software/application.py @@ -0,0 +1,60 @@ +# generated by datamodel-codegen: +# filename: software/application.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class ApplicationSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/dist/py/software/application_properties.py b/dist/py/software/application_properties.py new file mode 100644 index 000000000..1d9d35e4d --- /dev/null +++ b/dist/py/software/application_properties.py @@ -0,0 +1,36 @@ +# generated by datamodel-codegen: +# filename: software/application_properties.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class ApplicationPropertiesSchema(BaseModel): + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/src/py/mat3ra/esse/models/in_memory_entity/named_defaultable_runtime_items.py b/dist/py/software/executable.py similarity index 61% rename from src/py/mat3ra/esse/models/in_memory_entity/named_defaultable_runtime_items.py rename to dist/py/software/executable.py index 0d9f32e20..5c435deee 100644 --- a/src/py/mat3ra/esse/models/in_memory_entity/named_defaultable_runtime_items.py +++ b/dist/py/software/executable.py @@ -1,22 +1,22 @@ # generated by datamodel-codegen: -# filename: in_memory_entity/named_defaultable_runtime_items.json +# filename: software/executable.json # version: 0.28.5 from __future__ import annotations -from typing import List, Optional, Union +from typing import List, Optional from pydantic import BaseModel, Field -class NameResultSchema(BaseModel): +class RuntimeItemNameObjectSchema(BaseModel): name: str """ The name of this item. e.g. scf_accuracy """ -class NamedDefaultableRuntimeItemsInMemoryEntitySchema(BaseModel): +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -30,7 +30,7 @@ class NamedDefaultableRuntimeItemsInMemoryEntitySchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -38,19 +38,27 @@ class NamedDefaultableRuntimeItemsInMemoryEntitySchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ diff --git a/dist/py/software/executable_properties.py b/dist/py/software/executable_properties.py new file mode 100644 index 000000000..241c77ef4 --- /dev/null +++ b/dist/py/software/executable_properties.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: software/executable_properties.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class ExecutablePropertiesSchema(BaseModel): + name: str + """ + The name of the executable. e.g. pw.x + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ diff --git a/dist/py/software/flavor.py b/dist/py/software/flavor.py new file mode 100644 index 000000000..fe023b1ac --- /dev/null +++ b/dist/py/software/flavor.py @@ -0,0 +1,87 @@ +# generated by datamodel-codegen: +# filename: software/flavor.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ diff --git a/dist/py/software/flavor_properties.py b/dist/py/software/flavor_properties.py new file mode 100644 index 000000000..72710d9d2 --- /dev/null +++ b/dist/py/software/flavor_properties.py @@ -0,0 +1,43 @@ +# generated by datamodel-codegen: +# filename: software/flavor_properties.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorPropertiesSchema(BaseModel): + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ diff --git a/dist/py/software/template.py b/dist/py/software/template.py new file mode 100644 index 000000000..649cb6049 --- /dev/null +++ b/dist/py/software/template.py @@ -0,0 +1,49 @@ +# generated by datamodel-codegen: +# filename: software/template.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class TemplateSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + applicationName: str + applicationVersion: Optional[str] = None + executableName: str + contextProviders: List[RuntimeItemNameObjectSchema] + isManuallyChanged: Optional[bool] = None + content: str + """ + Content of the input file. e.g. &CONTROL calculation='scf' ... + """ + rendered: Optional[str] = None + """ + Rendered content of the input file. e.g. &CONTROL calculation='scf' ... + """ diff --git a/dist/py/software/template_properties.py b/dist/py/software/template_properties.py new file mode 100644 index 000000000..e17be31fe --- /dev/null +++ b/dist/py/software/template_properties.py @@ -0,0 +1,36 @@ +# generated by datamodel-codegen: +# filename: software/template_properties.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class TemplatePropertiesSchema(BaseModel): + applicationName: str + applicationVersion: Optional[str] = None + executableName: str + contextProviders: List[RuntimeItemNameObjectSchema] + isManuallyChanged: Optional[bool] = None + name: str + """ + Input file name. e.g. pw_scf.in + """ + content: str + """ + Content of the input file. e.g. &CONTROL calculation='scf' ... + """ + rendered: Optional[str] = None + """ + Rendered content of the input file. e.g. &CONTROL calculation='scf' ... + """ diff --git a/dist/py/software_directory/modeling/__init__.py b/dist/py/software_directory/modeling/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/software_directory/modeling/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/software_directory/modeling/deepmd.py b/dist/py/software_directory/modeling/deepmd.py new file mode 100644 index 000000000..b1d797cc3 --- /dev/null +++ b/dist/py/software_directory/modeling/deepmd.py @@ -0,0 +1,80 @@ +# generated by datamodel-codegen: +# filename: software_directory/modeling/deepmd.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class Name(Enum): + deepmd = "deepmd" + + +class Summary(Enum): + DeePMD_is_a_deep_learning_package_that_is_based_on_neural_network_fitted_first_principles_data_for_many_body_potential_energy_representation_and_molecular_dynamics = "DeePMD is a deep learning package that is based on neural network fitted first-principles data for many-body potential energy representation and molecular dynamics" + + +class Version(Enum): + field_2_0_2 = "2.0.2" + + +class Exec(Enum): + dp = "dp" + lmp = "lmp" + python = "python" + + +class DeePMDAppSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + name: Name + """ + entity name + """ + summary: Summary + """ + Application's short description. + """ + version: Version + """ + Application version. e.g. 5.3.5 + """ + exec: Optional[Exec] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/dist/py/software_directory/modeling/espresso/__init__.py b/dist/py/software_directory/modeling/espresso/__init__.py new file mode 100644 index 000000000..87ae9d341 --- /dev/null +++ b/dist/py/software_directory/modeling/espresso/__init__.py @@ -0,0 +1,39 @@ +# generated by datamodel-codegen: +# filename: software_directory/modeling/espresso.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Name(Enum): + espresso = "espresso" + + +class Summary(Enum): + Quantum_Espresso = "Quantum Espresso" + + +class Version(Enum): + field_5_2_1 = "5.2.1" + field_5_4_0 = "5.4.0" + field_6_0_0 = "6.0.0" + field_6_3 = "6.3" + field_6_4_1 = "6.4.1" + field_6_5_0 = "6.5.0" + field_6_6_0 = "6.6.0" + field_6_7_0 = "6.7.0" + field_6_8_0 = "6.8.0" + field_7_0 = "7.0" + field_7_2 = "7.2" + field_7_3 = "7.3" + + +class EspressoAppSchema(BaseModel): + name: Optional[Name] = None + summary: Optional[Summary] = None + version: Optional[Version] = None diff --git a/dist/py/software_directory/modeling/espresso/arguments.py b/dist/py/software_directory/modeling/espresso/arguments.py new file mode 100644 index 000000000..a12eb5475 --- /dev/null +++ b/dist/py/software_directory/modeling/espresso/arguments.py @@ -0,0 +1,35 @@ +# generated by datamodel-codegen: +# filename: software_directory/modeling/espresso/arguments.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, ConfigDict, conint + + +class QuantumEspressoArgumentsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nimage: Optional[conint(ge=1, le=100)] = 1 + """ + Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others. + """ + npools: Optional[conint(ge=1, le=100)] = 1 + """ + Each image can be subpartitioned into `pools`, each taking care of a group of k-points. + """ + nband: Optional[conint(ge=1, le=100)] = 1 + """ + Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions). + """ + ntg: Optional[conint(ge=1, le=100)] = 1 + """ + In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time. + """ + ndiag: Optional[conint(ge=1, le=100)] = 1 + """ + A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations. + """ diff --git a/dist/py/software_directory/modeling/nwchem.py b/dist/py/software_directory/modeling/nwchem.py new file mode 100644 index 000000000..3ad788b20 --- /dev/null +++ b/dist/py/software_directory/modeling/nwchem.py @@ -0,0 +1,81 @@ +# generated by datamodel-codegen: +# filename: software_directory/modeling/nwchem.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class Name(Enum): + NWChem = "NWChem" + + +class Summary(Enum): + NWChem__a_comprehensive_and_scalable_open_source_solution_for_large_scale_molecular_simulations = ( + "NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations" + ) + + +class Version(Enum): + field_6_6 = "6.6" + field_7_0_2 = "7.0.2" + + +class Exec(Enum): + nwchem = "nwchem" + + +class NWChem(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + name: Name + """ + entity name + """ + summary: Summary + """ + Application's short description. + """ + version: Version + """ + Application version. e.g. 5.3.5 + """ + exec: Optional[Exec] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/dist/py/software_directory/modeling/unit/__init__.py b/dist/py/software_directory/modeling/unit/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/software_directory/modeling/unit/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/software_directory/modeling/unit/execution.py b/dist/py/software_directory/modeling/unit/execution.py new file mode 100644 index 000000000..40e131ce3 --- /dev/null +++ b/dist/py/software_directory/modeling/unit/execution.py @@ -0,0 +1,303 @@ +# generated by datamodel-codegen: +# filename: software_directory/modeling/unit/execution.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + name: str + """ + Input file name. e.g. pw_scf.in + """ + content: str + """ + Content of the input file. e.g. &CONTROL calculation='scf' ... + """ + rendered: Optional[str] = None + """ + Rendered content of the input file. e.g. &CONTROL calculation='scf' ... + """ + + +class ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsingEspressoAsExample(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: List[ + Union[ + ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines, + ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines, + ] + ] = Field(..., title="execution unit input schema") + """ + unit input (type to be specified by the application's execution unit) + """ diff --git a/dist/py/software_directory/modeling/vasp.py b/dist/py/software_directory/modeling/vasp.py new file mode 100644 index 000000000..899383945 --- /dev/null +++ b/dist/py/software_directory/modeling/vasp.py @@ -0,0 +1,85 @@ +# generated by datamodel-codegen: +# filename: software_directory/modeling/vasp.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class Name(Enum): + vasp = "vasp" + + +class Summary(Enum): + vienna_ab_initio_simulation_package = "vienna ab-initio simulation package" + + +class Flavor(Enum): + vasp = "vasp" + vasp_nscf = "vasp_nscf" + vasp_bands = "vasp_bands" + + +class Version(Enum): + field_5_3_5 = "5.3.5" + + +class Exec(Enum): + vasp = "vasp" + + +class ViennaAbInitoSimulationPackage(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + name: Name + """ + entity name + """ + summary: Summary + """ + Application's short description. + """ + flavor: Optional[Flavor] = None + version: Version + """ + Application version. e.g. 5.3.5 + """ + exec: Optional[Exec] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/dist/py/software_directory/scripting/__init__.py b/dist/py/software_directory/scripting/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/software_directory/scripting/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/software_directory/scripting/jupyter_lab.py b/dist/py/software_directory/scripting/jupyter_lab.py new file mode 100644 index 000000000..038028b1b --- /dev/null +++ b/dist/py/software_directory/scripting/jupyter_lab.py @@ -0,0 +1,83 @@ +# generated by datamodel-codegen: +# filename: software_directory/scripting/jupyter_lab.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class Name(Enum): + jupyterLab = "jupyterLab" + + +class Flavor(Enum): + notebook = "notebook" + + +class Summary(Enum): + Jupyter_Lab = "Jupyter Lab" + + +class Version(Enum): + field_0_33_12 = "0.33.12" + + +class Exec(Enum): + jupyter = "jupyter" + + +class JupyterLabApplicationSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + name: Name + """ + entity name + """ + flavor: Optional[Flavor] = None + summary: Summary + """ + Application's short description. + """ + version: Version + """ + Application version. e.g. 5.3.5 + """ + exec: Optional[Exec] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/dist/py/software_directory/scripting/python.py b/dist/py/software_directory/scripting/python.py new file mode 100644 index 000000000..cdb63cca4 --- /dev/null +++ b/dist/py/software_directory/scripting/python.py @@ -0,0 +1,97 @@ +# generated by datamodel-codegen: +# filename: software_directory/scripting/python.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class Name(Enum): + python = "python" + + +class Flavor(Enum): + python2 = "python2" + python3 = "python3" + + +class Summary(Enum): + Python_Script = "Python Script" + + +class Version(Enum): + field_2_7_5 = "2.7.5" + field_3_6_1 = "3.6.1" + + +class Exec(Enum): + python = "python" + + +class PythonProgramingLanguageSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + name: Name + """ + entity name + """ + flavor: Optional[Flavor] = None + summary: Summary + """ + Application's short description. + """ + version: Version + """ + Application version. e.g. 5.3.5 + """ + exec: Optional[Exec] = None + arguments: Optional[str] = None + """ + Optional arguments passed to the Python script + """ + environment: Optional[Dict[str, Any]] = None + """ + Optional environment variables exported before running the Python script + """ + dependencies: Optional[List] = None + """ + Optional Python dependencies, e.g. amqp==1.4.6 + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/dist/py/software_directory/scripting/shell.py b/dist/py/software_directory/scripting/shell.py new file mode 100644 index 000000000..4cb43b4ec --- /dev/null +++ b/dist/py/software_directory/scripting/shell.py @@ -0,0 +1,97 @@ +# generated by datamodel-codegen: +# filename: software_directory/scripting/shell.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class Name(Enum): + shell = "shell" + + +class Flavor(Enum): + sh = "sh" + bash = "bash" + zsh = "zsh" + csh = "csh" + + +class Summary(Enum): + Shell_Script = "Shell Script" + + +class Version(Enum): + field_4_2_46 = "4.2.46" + + +class Exec(Enum): + sh = "sh" + bash = "bash" + zsh = "zsh" + csh = "csh" + + +class ShellScriptingLanguageSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + name: Name + """ + entity name + """ + flavor: Optional[Flavor] = None + summary: Summary + """ + Application's short description. + """ + version: Version + """ + Application version. e.g. 5.3.5 + """ + exec: Optional[Exec] = None + arguments: Optional[str] = None + """ + Optional arguments passed to the Shell script + """ + environment: Optional[Dict[str, Any]] = None + """ + Optional environment variables exported before running the Shell script + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/dist/py/software_directory/scripting/unit/__init__.py b/dist/py/software_directory/scripting/unit/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/software_directory/scripting/unit/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/software_directory/scripting/unit/execution.py b/dist/py/software_directory/scripting/unit/execution.py new file mode 100644 index 000000000..7d9dd59c0 --- /dev/null +++ b/dist/py/software_directory/scripting/unit/execution.py @@ -0,0 +1,303 @@ +# generated by datamodel-codegen: +# filename: software_directory/scripting/unit/execution.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + name: str + """ + Input file name. e.g. pw_scf.in + """ + content: str + """ + Content of the input file. e.g. &CONTROL calculation='scf' ... + """ + rendered: Optional[str] = None + """ + Rendered content of the input file. e.g. &CONTROL calculation='scf' ... + """ + + +class ExecutionUnitSchemaForScriptingBasedApplications(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: List[ + Union[ + ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines, + ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines, + ] + ] = Field(..., title="execution unit input schema") + """ + unit input (type to be specified by the application's execution unit) + """ diff --git a/dist/py/system/__init__.py b/dist/py/system/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/system/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/system/_material.py b/dist/py/system/_material.py new file mode 100644 index 000000000..f79fbf3ad --- /dev/null +++ b/dist/py/system/_material.py @@ -0,0 +1,29 @@ +# generated by datamodel-codegen: +# filename: system/_material.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ diff --git a/dist/py/system/_parent_job.py b/dist/py/system/_parent_job.py new file mode 100644 index 000000000..9270b0f8d --- /dev/null +++ b/dist/py/system/_parent_job.py @@ -0,0 +1,29 @@ +# generated by datamodel-codegen: +# filename: system/_parent_job.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Cls(Enum): + Job = "Job" + + +class ParentJobEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Job class + """ + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ diff --git a/dist/py/system/_project.py b/dist/py/system/_project.py new file mode 100644 index 000000000..c7a0e53fb --- /dev/null +++ b/dist/py/system/_project.py @@ -0,0 +1,29 @@ +# generated by datamodel-codegen: +# filename: system/_project.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Cls(Enum): + Project = "Project" + + +class ProjectEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Project class + """ + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ diff --git a/dist/py/system/bankable.py b/dist/py/system/bankable.py new file mode 100644 index 000000000..b8c9cc5f5 --- /dev/null +++ b/dist/py/system/bankable.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: system/bankable.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class BankableSchema(BaseModel): + exabyteId: Optional[str] = None + """ + Identity of the corresponding bank entity + """ + hash: Optional[str] = None + """ + Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities. + """ diff --git a/dist/py/system/consistency_check.py b/dist/py/system/consistency_check.py new file mode 100644 index 000000000..6fea57979 --- /dev/null +++ b/dist/py/system/consistency_check.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: system/consistency_check.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class ConsistencyCheck(BaseModel): + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + name: str + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ diff --git a/dist/py/system/creator.py b/dist/py/system/creator.py new file mode 100644 index 000000000..7928e4414 --- /dev/null +++ b/dist/py/system/creator.py @@ -0,0 +1,29 @@ +# generated by datamodel-codegen: +# filename: system/creator.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Cls(Enum): + User = "User" + + +class CreatorEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Creator class + """ + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ diff --git a/dist/py/system/creator_account.py b/dist/py/system/creator_account.py new file mode 100644 index 000000000..9f1df7416 --- /dev/null +++ b/dist/py/system/creator_account.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: system/creator_account.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, Field + + +class EntityReferenceSchema(BaseModel): + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class CreatorAccountSchema(BaseModel): + creatorAccount: Optional[EntityReferenceSchema] = Field(None, title="entity reference schema") diff --git a/dist/py/system/database_source.py b/dist/py/system/database_source.py new file mode 100644 index 000000000..b7fbbe18b --- /dev/null +++ b/dist/py/system/database_source.py @@ -0,0 +1,36 @@ +# generated by datamodel-codegen: +# filename: system/database_source.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Optional, Union + +from pydantic import BaseModel + + +class DatabaseSourceSchema(BaseModel): + id: Union[str, float] + """ + ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32 + """ + source: str + """ + Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc. + """ + origin: bool + """ + Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch). + """ + data: Optional[Dict[str, Any]] = None + """ + Original response from external source. + """ + doi: Optional[str] = None + """ + Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506 + """ + url: Optional[str] = None + """ + The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers + """ diff --git a/dist/py/system/defaultable.py b/dist/py/system/defaultable.py new file mode 100644 index 000000000..541ffbbd7 --- /dev/null +++ b/dist/py/system/defaultable.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: system/defaultable.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class DefaultableEntitySchema(BaseModel): + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ diff --git a/dist/py/system/description.py b/dist/py/system/description.py new file mode 100644 index 000000000..e4f9e6d9d --- /dev/null +++ b/dist/py/system/description.py @@ -0,0 +1,17 @@ +# generated by datamodel-codegen: +# filename: system/description.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Optional + +from pydantic import BaseModel + + +class DescriptionSchema(BaseModel): + description: Optional[str] = None + """ + entity description + """ + descriptionObject: Optional[Dict[str, Any]] = None diff --git a/dist/py/system/entity_reference.py b/dist/py/system/entity_reference.py new file mode 100644 index 000000000..0f74693ba --- /dev/null +++ b/dist/py/system/entity_reference.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: system/entity_reference.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, Field + + +class EntityReferenceSchema(BaseModel): + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ diff --git a/dist/py/system/file_source.py b/dist/py/system/file_source.py new file mode 100644 index 000000000..8e88767bc --- /dev/null +++ b/dist/py/system/file_source.py @@ -0,0 +1,28 @@ +# generated by datamodel-codegen: +# filename: system/file_source.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class FileSourceSchema(BaseModel): + extension: Optional[str] = None + """ + file extension + """ + filename: str + """ + file name without extension + """ + text: str + """ + file content as raw text + """ + hash: str + """ + MD5 hash based on file content + """ diff --git a/dist/py/system/has_consistency_check.py b/dist/py/system/has_consistency_check.py new file mode 100644 index 000000000..9326d7870 --- /dev/null +++ b/dist/py/system/has_consistency_check.py @@ -0,0 +1,39 @@ +# generated by datamodel-codegen: +# filename: system/has_consistency_check.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel + + +class Severity(Enum): + info = "info" + warning = "warning" + error = "error" + + +class ConsistencyCheck(BaseModel): + key: str + """ + Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1' + """ + name: str + """ + Name of the consistency check that is performed, which is listed in an enum. + """ + severity: Severity + """ + Severity level of the problem, which is used in UI to differentiate. + """ + message: str + """ + Message generated by the consistency check describing the problem. + """ + + +class HasConsistencyCheckSchema(BaseModel): + consistencyChecks: Optional[List[ConsistencyCheck]] = None diff --git a/dist/py/system/history.py b/dist/py/system/history.py new file mode 100644 index 000000000..47093050a --- /dev/null +++ b/dist/py/system/history.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: system/history.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class HistoryItem(BaseModel): + id: str + revision: float + + +class HistorySchema(BaseModel): + history: Optional[List[HistoryItem]] = None diff --git a/dist/py/system/iframe_message.py b/dist/py/system/iframe_message.py new file mode 100644 index 000000000..3d3191bbb --- /dev/null +++ b/dist/py/system/iframe_message.py @@ -0,0 +1,36 @@ +# generated by datamodel-codegen: +# filename: system/iframe_message.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict + +from pydantic import BaseModel + + +class Type(Enum): + from_iframe_to_host = "from-iframe-to-host" + from_host_to_iframe = "from-host-to-iframe" + + +class Action(Enum): + set_data = "set-data" + get_data = "get-data" + info = "info" + + +class IframeMessageSchema(BaseModel): + type: Type + """ + The type of the message to distinguish the direction of the message. + """ + action: Action + """ + The action to be performed upon receiving the message. + """ + payload: Dict[str, Any] + """ + The content of the message with actual data. + """ diff --git a/dist/py/system/in_set.py b/dist/py/system/in_set.py new file mode 100644 index 000000000..dd5f26115 --- /dev/null +++ b/dist/py/system/in_set.py @@ -0,0 +1,30 @@ +# generated by datamodel-codegen: +# filename: system/in_set.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class EntityReferenceSchema(BaseModel): + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + type: Optional[str] = None + index: Optional[float] = None + + +class SystemInSetSchema(BaseModel): + inSet: Optional[List[EntityReferenceSchema]] = None diff --git a/dist/py/system/is_multi_material.py b/dist/py/system/is_multi_material.py new file mode 100644 index 000000000..fadab66ea --- /dev/null +++ b/dist/py/system/is_multi_material.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: system/is_multi_material.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class IsMultiSchema(BaseModel): + isMultiMaterial: Optional[bool] = None diff --git a/dist/py/system/is_outdated.py b/dist/py/system/is_outdated.py new file mode 100644 index 000000000..a54b2e327 --- /dev/null +++ b/dist/py/system/is_outdated.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: system/is_outdated.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class IsOutdatedSchema(BaseModel): + isOutdated: Optional[bool] = None diff --git a/dist/py/system/job_extended.py b/dist/py/system/job_extended.py new file mode 100644 index 000000000..048337e3c --- /dev/null +++ b/dist/py/system/job_extended.py @@ -0,0 +1,36 @@ +# generated by datamodel-codegen: +# filename: system/job_extended.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, Field + + +class EntityReferenceSchema(BaseModel): + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class ExtendedJobSchema(BaseModel): + mode: Optional[str] = None + isExternal: Optional[bool] = None + field_materials: Optional[List[EntityReferenceSchema]] = Field(None, alias="_materials") + field_materialsSet: Optional[EntityReferenceSchema] = Field( + None, alias="_materialsSet", title="entity reference schema" + ) + purged: Optional[bool] = None + purgedAt: Optional[float] = None + dataset: Optional[Dict[str, Any]] = None diff --git a/dist/py/system/message.py b/dist/py/system/message.py new file mode 100644 index 000000000..dd2b9707a --- /dev/null +++ b/dist/py/system/message.py @@ -0,0 +1,59 @@ +# generated by datamodel-codegen: +# filename: system/message.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, Optional + +from pydantic import BaseModel, Field + + +class Name(Enum): + job = "job" + unit = "unit" + + +class Probe(Enum): + monitor = "monitor" + postprocessor = "postprocessor" + + +class Entity(BaseModel): + field_id: str = Field(..., alias="_id") + """ + job identifier + """ + name: Name + """ + entity name. + """ + flowchartId: Optional[str] = None + """ + unit identifier within the workflow + """ + probe: Optional[Probe] = None + """ + source of the message. + """ + + +class Header(BaseModel): + entity: Entity + version: str + """ + Rupy-Webapp communication schema version. + """ + timestamp: float + """ + Timestamp of the message. + """ + + +class MessageSchema(BaseModel): + header: Header + payload: Dict[str, Any] + """ + Actual payload of the message. + """ diff --git a/dist/py/system/metadata.py b/dist/py/system/metadata.py new file mode 100644 index 000000000..15b53eefb --- /dev/null +++ b/dist/py/system/metadata.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: system/metadata.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Optional + +from pydantic import BaseModel + + +class MetadataSchema(BaseModel): + metadata: Optional[Dict[str, Any]] = None diff --git a/dist/py/system/name.py b/dist/py/system/name.py new file mode 100644 index 000000000..d96f02b86 --- /dev/null +++ b/dist/py/system/name.py @@ -0,0 +1,14 @@ +# generated by datamodel-codegen: +# filename: system/name.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class NameEntitySchema(BaseModel): + name: str + """ + entity name + """ diff --git a/dist/py/system/owner.py b/dist/py/system/owner.py new file mode 100644 index 000000000..2e206257d --- /dev/null +++ b/dist/py/system/owner.py @@ -0,0 +1,29 @@ +# generated by datamodel-codegen: +# filename: system/owner.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Cls(Enum): + Account = "Account" + + +class EntityOwnerReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Entity owner class + """ + field_id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ diff --git a/dist/py/system/path.py b/dist/py/system/path.py new file mode 100644 index 000000000..13e86c32b --- /dev/null +++ b/dist/py/system/path.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: system/path.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, Field + + +class PathSchema(BaseModel): + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ diff --git a/dist/py/system/path_entity.py b/dist/py/system/path_entity.py new file mode 100644 index 000000000..efc5f4c5d --- /dev/null +++ b/dist/py/system/path_entity.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: system/path_entity.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, Field + + +class PathEntitySchema(BaseModel): + name: str + """ + entity name + """ + path: Optional[str] = Field(None, title="category path schema") + """ + TODO: Use regex once schema draft version has been updated + """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/runtime/_runtime_item_name_object.py b/dist/py/system/runtime_item.py similarity index 66% rename from src/py/mat3ra/esse/models/workflow/unit/runtime/_runtime_item_name_object.py rename to dist/py/system/runtime_item.py index 925a61d81..72b90315f 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/runtime/_runtime_item_name_object.py +++ b/dist/py/system/runtime_item.py @@ -1,5 +1,5 @@ # generated by datamodel-codegen: -# filename: workflow/unit/runtime/_runtime_item_name_object.json +# filename: system/runtime_item.json # version: 0.28.5 from __future__ import annotations @@ -7,7 +7,7 @@ from pydantic import BaseModel -class NameResultSchema(BaseModel): +class RuntimeItemNameObjectSchema(BaseModel): name: str """ The name of this item. e.g. scf_accuracy diff --git a/dist/py/system/runtime_items.py b/dist/py/system/runtime_items.py new file mode 100644 index 000000000..ccc9c536b --- /dev/null +++ b/dist/py/system/runtime_items.py @@ -0,0 +1,35 @@ +# generated by datamodel-codegen: +# filename: system/runtime_items.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class RuntimeItemsSchema(BaseModel): + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ diff --git a/dist/py/system/schema_version.py b/dist/py/system/schema_version.py new file mode 100644 index 000000000..a8f36da1e --- /dev/null +++ b/dist/py/system/schema_version.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: system/schema_version.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class SchemaVersion(BaseModel): + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ diff --git a/dist/py/system/scope.py b/dist/py/system/scope.py new file mode 100644 index 000000000..f993fd3ac --- /dev/null +++ b/dist/py/system/scope.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: system/scope.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class ScopeSchema(BaseModel): + scope: Optional[str] = None diff --git a/dist/py/system/set.py b/dist/py/system/set.py new file mode 100644 index 000000000..21597c5a4 --- /dev/null +++ b/dist/py/system/set.py @@ -0,0 +1,15 @@ +# generated by datamodel-codegen: +# filename: system/set.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class EntitySetSchema(BaseModel): + isEntitySet: Optional[bool] = None + entitySetType: Optional[str] = None + entityCls: Optional[str] = None diff --git a/dist/py/system/sharing.py b/dist/py/system/sharing.py new file mode 100644 index 000000000..300402aae --- /dev/null +++ b/dist/py/system/sharing.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: system/sharing.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class ExtendedSharingSchema(BaseModel): + sharedCount: Optional[float] = None diff --git a/dist/py/system/soft_removable.py b/dist/py/system/soft_removable.py new file mode 100644 index 000000000..5314b3023 --- /dev/null +++ b/dist/py/system/soft_removable.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: system/soft_removable.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class SoftRemovableEntitySchema(BaseModel): + removedAt: Optional[str] = None + """ + Timestamp of the moment when entity was removed + """ + removed: Optional[bool] = None + """ + Identifies that entity was removed + """ diff --git a/dist/py/system/status.py b/dist/py/system/status.py new file mode 100644 index 000000000..b97ad5c78 --- /dev/null +++ b/dist/py/system/status.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: system/status.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class StatusSchema(BaseModel): + status: Optional[str] = None + statusTrack: Optional[List[StatusTrackItem]] = None diff --git a/dist/py/system/tags.py b/dist/py/system/tags.py new file mode 100644 index 000000000..c9c8087a1 --- /dev/null +++ b/dist/py/system/tags.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: system/tags.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class EntityTagsSchema(BaseModel): + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/dist/py/system/timestampable.py b/dist/py/system/timestampable.py new file mode 100644 index 000000000..297ffd85e --- /dev/null +++ b/dist/py/system/timestampable.py @@ -0,0 +1,23 @@ +# generated by datamodel-codegen: +# filename: system/timestampable.json +# version: 0.28.5 + +from __future__ import annotations + +from datetime import datetime +from typing import Optional + +from pydantic import BaseModel + + +class TimestampableEntitySchema(BaseModel): + createdAt: Optional[datetime] = None + """ + entity creation time + """ + updatedAt: Optional[datetime] = None + """ + entity last modification time + """ + createdBy: Optional[str] = None + updatedBy: Optional[str] = None diff --git a/dist/py/system/use_values.py b/dist/py/system/use_values.py new file mode 100644 index 000000000..771bbcba1 --- /dev/null +++ b/dist/py/system/use_values.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: system/use_values.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class UseValuesSchema(BaseModel): + useValues: Optional[bool] = None diff --git a/dist/py/workflow/__init__.py b/dist/py/workflow/__init__.py new file mode 100644 index 000000000..04e8e55ab --- /dev/null +++ b/dist/py/workflow/__init__.py @@ -0,0 +1,2227 @@ +# generated by datamodel-codegen: +# filename: workflow.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel, conint + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + io = "io" + + +class Subtype(Enum): + input = "input" + output = "output" + dataFrame = "dataFrame" + + +class Source(Enum): + api = "api" + db = "db" + object_storage = "object_storage" + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema21(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema21], + ObjectStorageIoSchema, + ] + ] + + +class Type191(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + +class ReduceUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type192(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class ConditionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type193(Enum): + assertion = "assertion" + + +class AssertionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type194(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type195(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type196(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class WorkflowSubworkflowUnitSchema( + RootModel[ + Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] = Field(..., discriminator="type", title="workflow subworkflow unit schema") + + +class BaseMethod(BaseModel): + type: str + """ + general type of this method, eg. `pseudopotential` + """ + subtype: str + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ + + +class BaseModel1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: str + """ + general type of the model, eg. `dft` + """ + subtype: str + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") + + +class Queue(Enum): + D = "D" + OR = "OR" + OF = "OF" + OFplus = "OFplus" + SR = "SR" + SF = "SF" + SFplus = "SFplus" + GPOF = "GPOF" + GP2OF = "GP2OF" + GP4OF = "GP4OF" + GPSF = "GPSF" + GP2SF = "GP2SF" + GP4SF = "GP4SF" + OR4 = "OR4" + OR8 = "OR8" + OR16 = "OR16" + SR4 = "SR4" + SR8 = "SR8" + SR16 = "SR16" + GOF = "GOF" + G4OF = "G4OF" + G8OF = "G8OF" + GSF = "GSF" + G4SF = "G4SF" + G8SF = "G8SF" + + +class TimeLimitType(Enum): + per_single_attempt = "per single attempt" + compound = "compound" + + +class QuantumEspressoArgumentsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nimage: Optional[conint(ge=1, le=100)] = 1 + """ + Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others. + """ + npools: Optional[conint(ge=1, le=100)] = 1 + """ + Each image can be subpartitioned into `pools`, each taking care of a group of k-points. + """ + nband: Optional[conint(ge=1, le=100)] = 1 + """ + Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions). + """ + ntg: Optional[conint(ge=1, le=100)] = 1 + """ + In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time. + """ + ndiag: Optional[conint(ge=1, le=100)] = 1 + """ + A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations. + """ + + +class Cluster(BaseModel): + fqdn: Optional[str] = None + """ + FQDN of the cluster. e.g. master-1-staging.exabyte.io + """ + jid: Optional[str] = None + """ + Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io + """ + + +class Domain(Enum): + rupy = "rupy" + alfred = "alfred" + celim = "celim" + webapp = "webapp" + + +class Error(BaseModel): + domain: Optional[Domain] = None + """ + Domain of the error appearance (internal). + """ + reason: Optional[str] = None + """ + Should be a short, unique, machine-readable error code string. e.g. FileNotFound + """ + message: Optional[str] = None + """ + Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json' + """ + traceback: Optional[str] = None + """ + Full machine-readable error traceback. e.g. FileNotFound + """ + + +class ComputeArgumentsSchema(BaseModel): + queue: Queue + """ + Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication. + """ + nodes: int + """ + number of nodes used for the job inside the RMS. + """ + ppn: int + """ + number of CPUs used for the job inside the RMS. + """ + timeLimit: str + """ + Wallclock time limit for computing a job. Clock format: 'hh:mm:ss' + """ + timeLimitType: Optional[TimeLimitType] = "per single attempt" + """ + Convention to use when reasoning about time limits + """ + isRestartable: Optional[bool] = True + """ + Job is allowed to restart on termination. + """ + notify: Optional[str] = None + """ + Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined. + """ + email: Optional[str] = None + """ + Email address to notify about job execution. + """ + maxCPU: Optional[int] = None + """ + Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user. + """ + arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema") + """ + Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere + """ + cluster: Optional[Cluster] = None + """ + Cluster where the job is executed. Optional on create. Required on job submission. + """ + errors: Optional[List[Error]] = None + """ + Computation error. Optional. Appears only if something happens on jobs execution. + """ + excludeFilesPattern: Optional[str] = None + """ + A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix + """ + + +class Subworkflow(BaseModel): + units: List[WorkflowSubworkflowUnitSchema] + """ + Contains the Units of the subworkflow + """ + model: BaseModel1 = Field(..., title="base model") + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + isDraft: Optional[bool] = False + """ + Defines whether to store the results/properties extracted in this unit to properties collection + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + subworkflow identity + """ + name: str + """ + Human-readable name of the subworkflow. e.g. Total-energy + """ + properties: Optional[List[str]] = None + """ + Array of characteristic properties calculated by this subworkflow + """ + compute: Optional[ComputeArgumentsSchema] = Field(None, title="compute arguments schema") + """ + Custom keywords prefixed with validate correspond to custom validation methods implemented downstream + """ + + +class Type197(Enum): + io = "io" + + +class DataIODatabaseInputOutputSchema22(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema23(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageIoSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema22, DataIODatabaseInputOutputSchema23], + ObjectStorageIoSchema11, + ] + ] + + +class Type198(Enum): + reduce = "reduce" + + +class ReduceUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type199(Enum): + condition = "condition" + + +class ConditionUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type200(Enum): + assertion = "assertion" + + +class AssertionUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type201(Enum): + execution = "execution" + + +class ExecutableSchema13(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class FlavorSchema13(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema13] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema13] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type202(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type203(Enum): + processing = "processing" + + +class ProcessingUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class Type204(Enum): + map = "map" + + +class Input(BaseModel): + target: str + """ + Name of the target variable to substitute using the values below. e.g. K_POINTS + """ + scope: Optional[str] = None + """ + Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. + """ + name: Optional[str] = None + """ + Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. + """ + values: Optional[List[Union[str, float, Dict[str, Any]]]] = None + """ + Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution + """ + useValues: Optional[bool] = None + + +class MapUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ + + +class Type205(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + + +class WorkflowUnitSchema( + RootModel[ + Union[ + DataIOUnitSchema9, + ReduceUnitSchema9, + ConditionUnitSchema9, + AssertionUnitSchema9, + ExecutionUnitSchemaBase9, + AssignmentUnitSchema9, + ProcessingUnitSchema9, + MapUnitSchema, + SubworkflowUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema9, + ReduceUnitSchema9, + ConditionUnitSchema9, + AssertionUnitSchema9, + ExecutionUnitSchemaBase9, + AssignmentUnitSchema9, + ProcessingUnitSchema9, + MapUnitSchema, + SubworkflowUnitSchema, + ] = Field(..., discriminator="type", title="workflow unit schema") + + +class WorkflowSchema(BaseModel): + subworkflows: List[Subworkflow] + """ + Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting + """ + units: List[WorkflowUnitSchema] + """ + Contains the Units of the Workflow + """ + properties: Optional[List[Union[str, Dict[str, Any]]]] = None + """ + Array of characteristic properties calculated by this workflow (TODO: add enums) + """ + isUsingDataset: Optional[bool] = None + """ + Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab. + """ + workflows: Optional[List[Dict[str, Any]]] = None + """ + Array of workflows with the same schema as the current one. + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + metadata: Optional[Dict[str, Any]] = None diff --git a/dist/py/workflow/base.py b/dist/py/workflow/base.py new file mode 100644 index 000000000..ff7c391c8 --- /dev/null +++ b/dist/py/workflow/base.py @@ -0,0 +1,46 @@ +# generated by datamodel-codegen: +# filename: workflow/base.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field + + +class BaseWorkflowSchema(BaseModel): + properties: Optional[List[Union[str, Dict[str, Any]]]] = None + """ + Array of characteristic properties calculated by this workflow (TODO: add enums) + """ + isUsingDataset: Optional[bool] = None + """ + Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab. + """ + workflows: Optional[List[Dict[str, Any]]] = None + """ + Array of workflows with the same schema as the current one. + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + metadata: Optional[Dict[str, Any]] = None diff --git a/dist/py/workflow/base_flow.py b/dist/py/workflow/base_flow.py new file mode 100644 index 000000000..ac25a5004 --- /dev/null +++ b/dist/py/workflow/base_flow.py @@ -0,0 +1,180 @@ +# generated by datamodel-codegen: +# filename: workflow/base_flow.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field, conint + + +class Queue(Enum): + D = "D" + OR = "OR" + OF = "OF" + OFplus = "OFplus" + SR = "SR" + SF = "SF" + SFplus = "SFplus" + GPOF = "GPOF" + GP2OF = "GP2OF" + GP4OF = "GP4OF" + GPSF = "GPSF" + GP2SF = "GP2SF" + GP4SF = "GP4SF" + OR4 = "OR4" + OR8 = "OR8" + OR16 = "OR16" + SR4 = "SR4" + SR8 = "SR8" + SR16 = "SR16" + GOF = "GOF" + G4OF = "G4OF" + G8OF = "G8OF" + GSF = "GSF" + G4SF = "G4SF" + G8SF = "G8SF" + + +class TimeLimitType(Enum): + per_single_attempt = "per single attempt" + compound = "compound" + + +class QuantumEspressoArgumentsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nimage: Optional[conint(ge=1, le=100)] = 1 + """ + Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others. + """ + npools: Optional[conint(ge=1, le=100)] = 1 + """ + Each image can be subpartitioned into `pools`, each taking care of a group of k-points. + """ + nband: Optional[conint(ge=1, le=100)] = 1 + """ + Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions). + """ + ntg: Optional[conint(ge=1, le=100)] = 1 + """ + In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time. + """ + ndiag: Optional[conint(ge=1, le=100)] = 1 + """ + A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations. + """ + + +class Cluster(BaseModel): + fqdn: Optional[str] = None + """ + FQDN of the cluster. e.g. master-1-staging.exabyte.io + """ + jid: Optional[str] = None + """ + Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io + """ + + +class Domain(Enum): + rupy = "rupy" + alfred = "alfred" + celim = "celim" + webapp = "webapp" + + +class Error(BaseModel): + domain: Optional[Domain] = None + """ + Domain of the error appearance (internal). + """ + reason: Optional[str] = None + """ + Should be a short, unique, machine-readable error code string. e.g. FileNotFound + """ + message: Optional[str] = None + """ + Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json' + """ + traceback: Optional[str] = None + """ + Full machine-readable error traceback. e.g. FileNotFound + """ + + +class ComputeArgumentsSchema(BaseModel): + queue: Queue + """ + Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication. + """ + nodes: int + """ + number of nodes used for the job inside the RMS. + """ + ppn: int + """ + number of CPUs used for the job inside the RMS. + """ + timeLimit: str + """ + Wallclock time limit for computing a job. Clock format: 'hh:mm:ss' + """ + timeLimitType: Optional[TimeLimitType] = "per single attempt" + """ + Convention to use when reasoning about time limits + """ + isRestartable: Optional[bool] = True + """ + Job is allowed to restart on termination. + """ + notify: Optional[str] = None + """ + Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined. + """ + email: Optional[str] = None + """ + Email address to notify about job execution. + """ + maxCPU: Optional[int] = None + """ + Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user. + """ + arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema") + """ + Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere + """ + cluster: Optional[Cluster] = None + """ + Cluster where the job is executed. Optional on create. Required on job submission. + """ + errors: Optional[List[Error]] = None + """ + Computation error. Optional. Appears only if something happens on jobs execution. + """ + excludeFilesPattern: Optional[str] = None + """ + A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix + """ + + +class BaseFlow(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + subworkflow identity + """ + name: str + """ + Human-readable name of the subworkflow. e.g. Total-energy + """ + properties: Optional[List[str]] = None + """ + Array of characteristic properties calculated by this subworkflow + """ + compute: Optional[ComputeArgumentsSchema] = Field(None, title="compute arguments schema") + """ + Custom keywords prefixed with validate correspond to custom validation methods implemented downstream + """ diff --git a/dist/py/workflow/scope.py b/dist/py/workflow/scope.py new file mode 100644 index 000000000..17452bf46 --- /dev/null +++ b/dist/py/workflow/scope.py @@ -0,0 +1,14 @@ +# generated by datamodel-codegen: +# filename: workflow/scope.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict + +from pydantic import BaseModel, Field + + +class WorkflowScopeSchema(BaseModel): + global_: Dict[str, Any] = Field(..., alias="global") + local: Dict[str, Any] diff --git a/dist/py/workflow/subworkflow/__init__.py b/dist/py/workflow/subworkflow/__init__.py new file mode 100644 index 000000000..c23199cba --- /dev/null +++ b/dist/py/workflow/subworkflow/__init__.py @@ -0,0 +1,1189 @@ +# generated by datamodel-codegen: +# filename: workflow/subworkflow.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel, conint + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + io = "io" + + +class Subtype(Enum): + input = "input" + output = "output" + dataFrame = "dataFrame" + + +class Source(Enum): + api = "api" + db = "db" + object_storage = "object_storage" + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema15(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema15], + ObjectStorageIoSchema, + ] + ] + + +class Type161(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + +class ReduceUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type162(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class ConditionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type163(Enum): + assertion = "assertion" + + +class AssertionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type164(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type165(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type166(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class WorkflowSubworkflowUnitSchema( + RootModel[ + Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] = Field(..., discriminator="type", title="workflow subworkflow unit schema") + + +class BaseMethod(BaseModel): + type: str + """ + general type of this method, eg. `pseudopotential` + """ + subtype: str + """ + general subtype of this method, eg. `ultra-soft` + """ + precision: Optional[Dict[str, Any]] = None + """ + Object showing the actual possible precision based on theory and implementation + """ + data: Optional[Dict[str, Any]] = None + """ + additional data specific to method, eg. array of pseudopotentials + """ + + +class BaseModel1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + type: str + """ + general type of the model, eg. `dft` + """ + subtype: str + """ + general subtype of the model, eg. `lda` + """ + method: BaseMethod = Field(..., title="base method") + + +class Queue(Enum): + D = "D" + OR = "OR" + OF = "OF" + OFplus = "OFplus" + SR = "SR" + SF = "SF" + SFplus = "SFplus" + GPOF = "GPOF" + GP2OF = "GP2OF" + GP4OF = "GP4OF" + GPSF = "GPSF" + GP2SF = "GP2SF" + GP4SF = "GP4SF" + OR4 = "OR4" + OR8 = "OR8" + OR16 = "OR16" + SR4 = "SR4" + SR8 = "SR8" + SR16 = "SR16" + GOF = "GOF" + G4OF = "G4OF" + G8OF = "G8OF" + GSF = "GSF" + G4SF = "G4SF" + G8SF = "G8SF" + + +class TimeLimitType(Enum): + per_single_attempt = "per single attempt" + compound = "compound" + + +class QuantumEspressoArgumentsSchema(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + nimage: Optional[conint(ge=1, le=100)] = 1 + """ + Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others. + """ + npools: Optional[conint(ge=1, le=100)] = 1 + """ + Each image can be subpartitioned into `pools`, each taking care of a group of k-points. + """ + nband: Optional[conint(ge=1, le=100)] = 1 + """ + Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions). + """ + ntg: Optional[conint(ge=1, le=100)] = 1 + """ + In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time. + """ + ndiag: Optional[conint(ge=1, le=100)] = 1 + """ + A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations. + """ + + +class Cluster(BaseModel): + fqdn: Optional[str] = None + """ + FQDN of the cluster. e.g. master-1-staging.exabyte.io + """ + jid: Optional[str] = None + """ + Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io + """ + + +class Domain(Enum): + rupy = "rupy" + alfred = "alfred" + celim = "celim" + webapp = "webapp" + + +class Error(BaseModel): + domain: Optional[Domain] = None + """ + Domain of the error appearance (internal). + """ + reason: Optional[str] = None + """ + Should be a short, unique, machine-readable error code string. e.g. FileNotFound + """ + message: Optional[str] = None + """ + Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json' + """ + traceback: Optional[str] = None + """ + Full machine-readable error traceback. e.g. FileNotFound + """ + + +class ComputeArgumentsSchema(BaseModel): + queue: Queue + """ + Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication. + """ + nodes: int + """ + number of nodes used for the job inside the RMS. + """ + ppn: int + """ + number of CPUs used for the job inside the RMS. + """ + timeLimit: str + """ + Wallclock time limit for computing a job. Clock format: 'hh:mm:ss' + """ + timeLimitType: Optional[TimeLimitType] = "per single attempt" + """ + Convention to use when reasoning about time limits + """ + isRestartable: Optional[bool] = True + """ + Job is allowed to restart on termination. + """ + notify: Optional[str] = None + """ + Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined. + """ + email: Optional[str] = None + """ + Email address to notify about job execution. + """ + maxCPU: Optional[int] = None + """ + Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user. + """ + arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema") + """ + Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere + """ + cluster: Optional[Cluster] = None + """ + Cluster where the job is executed. Optional on create. Required on job submission. + """ + errors: Optional[List[Error]] = None + """ + Computation error. Optional. Appears only if something happens on jobs execution. + """ + excludeFilesPattern: Optional[str] = None + """ + A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix + """ + + +class Subworkflow(BaseModel): + units: List[WorkflowSubworkflowUnitSchema] + """ + Contains the Units of the subworkflow + """ + model: BaseModel1 = Field(..., title="base model") + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + isDraft: Optional[bool] = False + """ + Defines whether to store the results/properties extracted in this unit to properties collection + """ + field_id: Optional[str] = Field(None, alias="_id") + """ + subworkflow identity + """ + name: str + """ + Human-readable name of the subworkflow. e.g. Total-energy + """ + properties: Optional[List[str]] = None + """ + Array of characteristic properties calculated by this subworkflow + """ + compute: Optional[ComputeArgumentsSchema] = Field(None, title="compute arguments schema") + """ + Custom keywords prefixed with validate correspond to custom validation methods implemented downstream + """ diff --git a/dist/py/workflow/subworkflow/unit.py b/dist/py/workflow/subworkflow/unit.py new file mode 100644 index 000000000..7c7489dec --- /dev/null +++ b/dist/py/workflow/subworkflow/unit.py @@ -0,0 +1,975 @@ +# generated by datamodel-codegen: +# filename: workflow/subworkflow/unit.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + io = "io" + + +class Subtype(Enum): + input = "input" + output = "output" + dataFrame = "dataFrame" + + +class Source(Enum): + api = "api" + db = "db" + object_storage = "object_storage" + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema19(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema19], + ObjectStorageIoSchema, + ] + ] + + +class Type180(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + +class ReduceUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type181(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class ConditionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type182(Enum): + assertion = "assertion" + + +class AssertionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type183(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type184(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type185(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class ESSE( + RootModel[ + Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + ] = Field(..., discriminator="type", title="workflow subworkflow unit schema") diff --git a/dist/py/workflow/unit/__init__.py b/dist/py/workflow/unit/__init__.py new file mode 100644 index 000000000..0c13426d8 --- /dev/null +++ b/dist/py/workflow/unit/__init__.py @@ -0,0 +1,1163 @@ +# generated by datamodel-codegen: +# filename: workflow/unit.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + io = "io" + + +class Subtype(Enum): + input = "input" + output = "output" + dataFrame = "dataFrame" + + +class Source(Enum): + api = "api" + db = "db" + object_storage = "object_storage" + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema17(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema17], + ObjectStorageIoSchema, + ] + ] + + +class Type171(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + +class ReduceUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type172(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class ConditionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ + + +class Type173(Enum): + assertion = "assertion" + + +class AssertionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type174(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type175(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type176(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ + + +class Type177(Enum): + map = "map" + + +class Input(BaseModel): + target: str + """ + Name of the target variable to substitute using the values below. e.g. K_POINTS + """ + scope: Optional[str] = None + """ + Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. + """ + name: Optional[str] = None + """ + Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. + """ + values: Optional[List[Union[str, float, Dict[str, Any]]]] = None + """ + Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution + """ + useValues: Optional[bool] = None + + +class MapUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ + + +class Type178(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + + +class ESSE( + RootModel[ + Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + MapUnitSchema, + SubworkflowUnitSchema, + ] + ] +): + root: Union[ + DataIOUnitSchema, + ReduceUnitSchema, + ConditionUnitSchema, + AssertionUnitSchema, + ExecutionUnitSchemaBase, + AssignmentUnitSchema, + ProcessingUnitSchema, + MapUnitSchema, + SubworkflowUnitSchema, + ] = Field(..., discriminator="type", title="workflow unit schema") diff --git a/dist/py/workflow/unit/assertion.py b/dist/py/workflow/unit/assertion.py new file mode 100644 index 000000000..e0258c0bc --- /dev/null +++ b/dist/py/workflow/unit/assertion.py @@ -0,0 +1,117 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/assertion.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + assertion = "assertion" + + +class AssertionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ diff --git a/dist/py/workflow/unit/assignment.py b/dist/py/workflow/unit/assignment.py new file mode 100644 index 000000000..5efb14a77 --- /dev/null +++ b/dist/py/workflow/unit/assignment.py @@ -0,0 +1,133 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/assignment.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + assignment = "assignment" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: Optional[List[WorkflowUnitInputSchema]] = None + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ diff --git a/dist/py/workflow/unit/base.py b/dist/py/workflow/unit/base.py new file mode 100644 index 000000000..20acaac7a --- /dev/null +++ b/dist/py/workflow/unit/base.py @@ -0,0 +1,105 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/base.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class WorkflowBaseUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: str + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None diff --git a/dist/py/workflow/unit/condition.py b/dist/py/workflow/unit/condition.py new file mode 100644 index 000000000..50463d988 --- /dev/null +++ b/dist/py/workflow/unit/condition.py @@ -0,0 +1,144 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/condition.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class ConditionUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ diff --git a/dist/py/workflow/unit/execution.py b/dist/py/workflow/unit/execution.py new file mode 100644 index 000000000..563a4844c --- /dev/null +++ b/dist/py/workflow/unit/execution.py @@ -0,0 +1,283 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/execution.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ diff --git a/dist/py/workflow/unit/input/__init__.py b/dist/py/workflow/unit/input/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/workflow/unit/input/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/workflow/unit/input/_input.py b/dist/py/workflow/unit/input/_input.py new file mode 100644 index 000000000..8d96a8adc --- /dev/null +++ b/dist/py/workflow/unit/input/_input.py @@ -0,0 +1,47 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/input/_input.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + name: str + """ + Input file name. e.g. pw_scf.in + """ + content: str + """ + Content of the input file. e.g. &CONTROL calculation='scf' ... + """ + rendered: Optional[str] = None + """ + Rendered content of the input file. e.g. &CONTROL calculation='scf' ... + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class ExecutionUnitInputSchemaForPhysicsBasedSimulationEngines(BaseModel): + input: Optional[ + List[ + Union[ + ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines, + ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines, + ] + ] + ] = Field(None, title="execution unit input schema") diff --git a/dist/py/workflow/unit/input/_inputItem.py b/dist/py/workflow/unit/input/_inputItem.py new file mode 100644 index 000000000..19c4d5109 --- /dev/null +++ b/dist/py/workflow/unit/input/_inputItem.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/input/_inputItem.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + name: str + """ + Input file name. e.g. pw_scf.in + """ + content: str + """ + Content of the input file. e.g. &CONTROL calculation='scf' ... + """ + rendered: Optional[str] = None + """ + Rendered content of the input file. e.g. &CONTROL calculation='scf' ... + """ diff --git a/dist/py/workflow/unit/input/_inputItemId.py b/dist/py/workflow/unit/input/_inputItemId.py new file mode 100644 index 000000000..4f766a501 --- /dev/null +++ b/dist/py/workflow/unit/input/_inputItemId.py @@ -0,0 +1,21 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/input/_inputItemId.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, ConfigDict + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ diff --git a/dist/py/workflow/unit/input/_inputItemScope.py b/dist/py/workflow/unit/input/_inputItemScope.py new file mode 100644 index 000000000..466aafb59 --- /dev/null +++ b/dist/py/workflow/unit/input/_inputItemScope.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/input/_inputItemScope.json +# version: 0.28.5 + +from __future__ import annotations + +from pydantic import BaseModel + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ diff --git a/dist/py/workflow/unit/input/_map_input/__init__.py b/dist/py/workflow/unit/input/_map_input/__init__.py new file mode 100644 index 000000000..0d0a4308f --- /dev/null +++ b/dist/py/workflow/unit/input/_map_input/__init__.py @@ -0,0 +1,17 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/input/_map_input.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel + + +class UnitMapInputSchema(BaseModel): + target: Optional[str] = None + values: Optional[List[Union[float, str, Dict[str, Any]]]] = None + useValues: Optional[bool] = None + scope: Optional[str] = None + name: Optional[str] = None diff --git a/dist/py/workflow/unit/input/_map_input/values.py b/dist/py/workflow/unit/input/_map_input/values.py new file mode 100644 index 000000000..ccd946e30 --- /dev/null +++ b/dist/py/workflow/unit/input/_map_input/values.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/input/_map_input/values.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class UnitValuesSchema(BaseModel): + values: Optional[str] = None diff --git a/dist/py/workflow/unit/io/__init__.py b/dist/py/workflow/unit/io/__init__.py new file mode 100644 index 000000000..65531eccd --- /dev/null +++ b/dist/py/workflow/unit/io/__init__.py @@ -0,0 +1,222 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/io.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + io = "io" + + +class Subtype(Enum): + input = "input" + output = "output" + dataFrame = "dataFrame" + + +class Source(Enum): + api = "api" + db = "db" + object_storage = "object_storage" + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema7(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema7], + ObjectStorageIoSchema, + ] + ] diff --git a/dist/py/workflow/unit/io/api.py b/dist/py/workflow/unit/io/api.py new file mode 100644 index 000000000..a7fc8e262 --- /dev/null +++ b/dist/py/workflow/unit/io/api.py @@ -0,0 +1,27 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/io/api.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Optional + +from pydantic import BaseModel, ConfigDict + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ diff --git a/dist/py/workflow/unit/io/db.py b/dist/py/workflow/unit/io/db.py new file mode 100644 index 000000000..d61435025 --- /dev/null +++ b/dist/py/workflow/unit/io/db.py @@ -0,0 +1,39 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/io/db.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ESSE(RootModel[Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema1]]): + root: Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema1] = Field( + ..., title="data IO database input/output schema" + ) diff --git a/dist/py/workflow/unit/io/object_storage.py b/dist/py/workflow/unit/io/object_storage.py new file mode 100644 index 000000000..951251352 --- /dev/null +++ b/dist/py/workflow/unit/io/object_storage.py @@ -0,0 +1,59 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/io/object_storage.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ diff --git a/dist/py/workflow/unit/map.py b/dist/py/workflow/unit/map.py new file mode 100644 index 000000000..2cb2f73c5 --- /dev/null +++ b/dist/py/workflow/unit/map.py @@ -0,0 +1,137 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/map.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + map = "map" + + +class Input(BaseModel): + target: str + """ + Name of the target variable to substitute using the values below. e.g. K_POINTS + """ + scope: Optional[str] = None + """ + Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. + """ + name: Optional[str] = None + """ + Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. + """ + values: Optional[List[Union[str, float, Dict[str, Any]]]] = None + """ + Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution + """ + useValues: Optional[bool] = None + + +class MapUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ diff --git a/dist/py/workflow/unit/mixins/__init__.py b/dist/py/workflow/unit/mixins/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/dist/py/workflow/unit/mixins/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/dist/py/workflow/unit/mixins/assertion.py b/dist/py/workflow/unit/mixins/assertion.py new file mode 100644 index 000000000..ab83a67b1 --- /dev/null +++ b/dist/py/workflow/unit/mixins/assertion.py @@ -0,0 +1,26 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/assertion.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Type(Enum): + assertion = "assertion" + + +class AssertionUnitMixinSchema(BaseModel): + type: Optional[Type] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ diff --git a/dist/py/workflow/unit/mixins/assignment.py b/dist/py/workflow/unit/mixins/assignment.py new file mode 100644 index 000000000..228471893 --- /dev/null +++ b/dist/py/workflow/unit/mixins/assignment.py @@ -0,0 +1,41 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/assignment.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel + + +class Type(Enum): + assignment = "assignment" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class AssignmentUnitMixinSchema(BaseModel): + type: Optional[Type] = None + input: Optional[List[WorkflowUnitInputSchema]] = None + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ diff --git a/dist/py/workflow/unit/mixins/base.py b/dist/py/workflow/unit/mixins/base.py new file mode 100644 index 000000000..d55868022 --- /dev/null +++ b/dist/py/workflow/unit/mixins/base.py @@ -0,0 +1,54 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/base.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, Optional + +from pydantic import BaseModel, ConfigDict + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class WorkflowBaseUnitMixinSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + isDraft: Optional[bool] = None + type: str + """ + type of the unit + """ + name: Optional[str] = None + """ + name of the unit. e.g. pw_scf + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None diff --git a/dist/py/workflow/unit/mixins/condition.py b/dist/py/workflow/unit/mixins/condition.py new file mode 100644 index 000000000..119e54439 --- /dev/null +++ b/dist/py/workflow/unit/mixins/condition.py @@ -0,0 +1,53 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/condition.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class Type(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class ConditionUnitMixinSchema(BaseModel): + type: Optional[Type] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ diff --git a/dist/py/workflow/unit/mixins/execution.py b/dist/py/workflow/unit/mixins/execution.py new file mode 100644 index 000000000..2323cccb5 --- /dev/null +++ b/dist/py/workflow/unit/mixins/execution.py @@ -0,0 +1,199 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/execution.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class Type(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitMixinSchema(BaseModel): + type: Optional[Type] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ diff --git a/dist/py/workflow/unit/mixins/io.py b/dist/py/workflow/unit/mixins/io.py new file mode 100644 index 000000000..837fa16e6 --- /dev/null +++ b/dist/py/workflow/unit/mixins/io.py @@ -0,0 +1,131 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/io.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class Type(Enum): + io = "io" + + +class Subtype(Enum): + input = "input" + output = "output" + dataFrame = "dataFrame" + + +class Source(Enum): + api = "api" + db = "db" + object_storage = "object_storage" + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitMixinSchema(BaseModel): + type: Optional[Type] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema9], + ObjectStorageIoSchema, + ] + ] diff --git a/dist/py/workflow/unit/mixins/map.py b/dist/py/workflow/unit/mixins/map.py new file mode 100644 index 000000000..87c8c432c --- /dev/null +++ b/dist/py/workflow/unit/mixins/map.py @@ -0,0 +1,46 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/map.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel + + +class Type(Enum): + map = "map" + + +class Input(BaseModel): + target: str + """ + Name of the target variable to substitute using the values below. e.g. K_POINTS + """ + scope: Optional[str] = None + """ + Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. + """ + name: Optional[str] = None + """ + Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. + """ + values: Optional[List[Union[str, float, Dict[str, Any]]]] = None + """ + Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution + """ + useValues: Optional[bool] = None + + +class MapUnitMixinSchema(BaseModel): + type: Optional[Type] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ diff --git a/dist/py/workflow/unit/mixins/processing.py b/dist/py/workflow/unit/mixins/processing.py new file mode 100644 index 000000000..29c9a89fe --- /dev/null +++ b/dist/py/workflow/unit/mixins/processing.py @@ -0,0 +1,30 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/processing.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Optional + +from pydantic import BaseModel + + +class Type(Enum): + processing = "processing" + + +class ProcessingUnitMixinSchema(BaseModel): + type: Optional[Type] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ diff --git a/dist/py/workflow/unit/mixins/reduce.py b/dist/py/workflow/unit/mixins/reduce.py new file mode 100644 index 000000000..f12e1fc4d --- /dev/null +++ b/dist/py/workflow/unit/mixins/reduce.py @@ -0,0 +1,37 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/reduce.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel + + +class Type(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + +class ReduceUnitMixinSchema(BaseModel): + type: Optional[Type] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ diff --git a/dist/py/workflow/unit/mixins/subworkflow.py b/dist/py/workflow/unit/mixins/subworkflow.py new file mode 100644 index 000000000..e654da671 --- /dev/null +++ b/dist/py/workflow/unit/mixins/subworkflow.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/subworkflow.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Type(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitMixinSchema(BaseModel): + type: Optional[Type] = None diff --git a/dist/py/workflow/unit/processing.py b/dist/py/workflow/unit/processing.py new file mode 100644 index 000000000..a7261eee3 --- /dev/null +++ b/dist/py/workflow/unit/processing.py @@ -0,0 +1,121 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/processing.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ diff --git a/dist/py/workflow/unit/reduce.py b/dist/py/workflow/unit/reduce.py new file mode 100644 index 000000000..38ca53eff --- /dev/null +++ b/dist/py/workflow/unit/reduce.py @@ -0,0 +1,128 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/reduce.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + +class ReduceUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ diff --git a/dist/py/workflow/unit/subworkflow.py b/dist/py/workflow/unit/subworkflow.py new file mode 100644 index 000000000..2519eae1e --- /dev/null +++ b/dist/py/workflow/unit/subworkflow.py @@ -0,0 +1,109 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/subworkflow.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None diff --git a/example/software/application.json b/example/software/application.json index ee2511978..24a73392e 100644 --- a/example/software/application.json +++ b/example/software/application.json @@ -3,5 +3,6 @@ "shortName": "qe", "summary": "Quantum Espresso", "version": "5.1.1", + "build": "GNU", "hasAdvancedComputeOptions": true } diff --git a/example/software/executable.json b/example/software/executable.json index fadbf7634..8ec36bf6b 100644 --- a/example/software/executable.json +++ b/example/software/executable.json @@ -4,17 +4,9 @@ "eaJepm4AWfqpaCw59" ], "isDefault": true, - "monitors": [ - { - "name": "standard_output" - } - ], + "monitors": [ { "name": "standard_output" } ], "name": "pw.x", "postProcessors": [], "preProcessors": [], - "results": [ - { - "name": "atomic_forces" - } - ] + "results": [ { "name": "atomic_forces" } ] } diff --git a/example/software/flavor.json b/example/software/flavor.json index ab9067726..74545347a 100644 --- a/example/software/flavor.json +++ b/example/software/flavor.json @@ -5,5 +5,9 @@ "templateId": "dJ7HYz5pQ4AuN5qc9" } ], - "name": "pw_scf" + "name": "pw_scf", + "postProcessors": [], + "preProcessors": [], + "monitors": [], + "results": [] } diff --git a/example/software_directory/modeling/espresso.json b/example/software_directory/modeling/espresso.json index 9c4bd0878..1da7ed891 100644 --- a/example/software_directory/modeling/espresso.json +++ b/example/software_directory/modeling/espresso.json @@ -2,5 +2,6 @@ "name": "espresso", "shortName": "qe", "summary": "Quantum Espresso", - "version": "7.2" + "version": "7.2", + "build": "GNU" } diff --git a/example/software_directory/modeling/nwchem.json b/example/software_directory/modeling/nwchem.json index 9d536e87e..1d1dcade0 100644 --- a/example/software_directory/modeling/nwchem.json +++ b/example/software_directory/modeling/nwchem.json @@ -1,6 +1,8 @@ { "name": "NWChem", "summary": "NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations", + "shortName": "nwchem", "version": "6.6", - "exec": "nwchem" -} + "exec": "nwchem", + "build": "GNU" +} diff --git a/example/software_directory/modeling/unit/execution.json b/example/software_directory/modeling/unit/execution.json index 114de792b..57526f95d 100644 --- a/example/software_directory/modeling/unit/execution.json +++ b/example/software_directory/modeling/unit/execution.json @@ -11,5 +11,9 @@ ], "name": "modeling", "status": "idle", - "type": "execution" + "type": "execution", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } diff --git a/example/software_directory/modeling/vasp.json b/example/software_directory/modeling/vasp.json index 3294d7913..7fba423f4 100644 --- a/example/software_directory/modeling/vasp.json +++ b/example/software_directory/modeling/vasp.json @@ -2,5 +2,6 @@ "name": "vasp", "shortName": "vasp", "summary": "vienna ab-initio simulation package", - "version": "5.3.5" + "version": "5.3.5", + "build": "GNU" } diff --git a/example/software_directory/scripting/jupyter-lab.json b/example/software_directory/scripting/jupyter-lab.json index 08323ef76..b17fe7945 100644 --- a/example/software_directory/scripting/jupyter-lab.json +++ b/example/software_directory/scripting/jupyter-lab.json @@ -4,5 +4,6 @@ "name": "jupyterLab", "shortName": "jl", "summary": "Jupyter Lab", - "version": "0.33.12" + "version": "0.33.12", + "build": "GNU" } diff --git a/example/software_directory/scripting/python.json b/example/software_directory/scripting/python.json index d6975c2a4..ad20868ad 100644 --- a/example/software_directory/scripting/python.json +++ b/example/software_directory/scripting/python.json @@ -4,5 +4,6 @@ "name": "python", "shortName": "py", "summary": "Python Script", - "version": "2.7.5" + "version": "2.7.5", + "build": "GNU" } diff --git a/example/software_directory/scripting/shell.json b/example/software_directory/scripting/shell.json index a39c70369..271c44679 100644 --- a/example/software_directory/scripting/shell.json +++ b/example/software_directory/scripting/shell.json @@ -4,5 +4,6 @@ "name": "shell", "shortName": "sh", "summary": "Shell Script", - "version": "4.2.46" + "version": "4.2.46", + "build": "GNU" } diff --git a/example/software_directory/scripting/unit/execution.json b/example/software_directory/scripting/unit/execution.json index 753a85dc9..6c53220a1 100644 --- a/example/software_directory/scripting/unit/execution.json +++ b/example/software_directory/scripting/unit/execution.json @@ -12,5 +12,9 @@ ], "name": "scripting", "status": "idle", - "type": "execution" + "type": "execution", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } diff --git a/example/workflow/unit/runtime/runtime_items.json b/example/system/runtime_items.json similarity index 100% rename from example/workflow/unit/runtime/runtime_items.json rename to example/system/runtime_items.json index 6e3d21d4f..b934df35c 100644 --- a/example/workflow/unit/runtime/runtime_items.json +++ b/example/system/runtime_items.json @@ -1,11 +1,11 @@ { + "preProcessors": [], + "postProcessors": [], "monitors": [ { "name": "standard_output" } ], - "postProcessors": [], - "preProcessors": [], "results": [ { "name": "atomic_forces" diff --git a/example/workflow.json b/example/workflow.json index f5b3ece55..e60efe2bf 100644 --- a/example/workflow.json +++ b/example/workflow.json @@ -29,7 +29,11 @@ "_id": "LCthJ6E2QabYCZqf4", "flowchartId": "05c362dc27ff1bb98d16fd60", "type": "subworkflow", - "name": "subworkflow unit" + "name": "subworkflow unit", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } ] } diff --git a/example/workflow/unit/assignment.json b/example/workflow/unit/assignment.json index 6aa3c4139..e2d05fc06 100644 --- a/example/workflow/unit/assignment.json +++ b/example/workflow/unit/assignment.json @@ -15,5 +15,9 @@ "operand": "N_K_x", "status": "idle", "type": "assignment", - "value": "N_K_x+N_K_y+1" + "value": "N_K_x+N_K_y+1", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } diff --git a/example/workflow/unit/condition.json b/example/workflow/unit/condition.json index 67ab2077b..e9156cc20 100644 --- a/example/workflow/unit/condition.json +++ b/example/workflow/unit/condition.json @@ -18,5 +18,9 @@ "status": "idle", "then": "sample_id_4", "throwException": true, - "type": "condition" + "type": "condition", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } diff --git a/example/workflow/unit/io.json b/example/workflow/unit/io.json index a0ab3d74e..f4acc2010 100644 --- a/example/workflow/unit/io.json +++ b/example/workflow/unit/io.json @@ -37,5 +37,9 @@ "source": "api", "status": "idle", "subtype": "input", - "type": "io" + "type": "io", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } diff --git a/example/workflow/unit/map.json b/example/workflow/unit/map.json index 816c11e31..45cdf8bc9 100644 --- a/example/workflow/unit/map.json +++ b/example/workflow/unit/map.json @@ -12,5 +12,9 @@ "name": "map", "status": "idle", "type": "map", - "workflowId": "zxjhEiaQvwWwvB3oM" + "workflowId": "zxjhEiaQvwWwvB3oM", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } diff --git a/example/workflow/unit/processing.json b/example/workflow/unit/processing.json index 0e7089df2..abaff7072 100644 --- a/example/workflow/unit/processing.json +++ b/example/workflow/unit/processing.json @@ -9,5 +9,9 @@ "operation": "data_transformation", "operationType": "manipulation", "status": "idle", - "type": "processing" + "type": "processing", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } diff --git a/example/workflow/unit/reduce.json b/example/workflow/unit/reduce.json index 1db79b45a..34851eb50 100644 --- a/example/workflow/unit/reduce.json +++ b/example/workflow/unit/reduce.json @@ -12,5 +12,9 @@ "mapFlowchartId": "1", "name": "reduce", "status": "idle", - "type": "reduce" + "type": "reduce", + "preProcessors": [], + "postProcessors": [], + "monitors": [], + "results": [] } diff --git a/schema/context_providers_directory/boundary_conditions_provider.json b/schema/context_providers_directory/boundary_conditions_provider.json index e61507320..51e923323 100644 --- a/schema/context_providers_directory/boundary_conditions_provider.json +++ b/schema/context_providers_directory/boundary_conditions_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/boundary-conditions-data-provider", + "$id": "context-providers-directory/boundary-conditions-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Boundary Conditions Provider Schema", "type": "object", diff --git a/schema/context_providers_directory/collinear_magnetization_provider.json b/schema/context_providers_directory/collinear_magnetization_provider.json index 1d214f2a9..32440bc4e 100644 --- a/schema/context_providers_directory/collinear_magnetization_provider.json +++ b/schema/context_providers_directory/collinear_magnetization_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/collinear-magnetization-context-provider", + "$id": "context-providers-directory/collinear-magnetization-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Collinear Magnetization Provider Schema", "description": "Set starting magnetization, can have values in the range [-1, +1].", @@ -17,8 +17,8 @@ "value": { "type": "number", "title": "Starting magnetization", - "minimum": -1.0, - "maximum": 1.0 + "minimum": -1, + "maximum": 1 } } } diff --git a/schema/context_providers_directory/hubbard_j_provider.json b/schema/context_providers_directory/hubbard_j_provider.json index 88c835f39..263d46b1e 100644 --- a/schema/context_providers_directory/hubbard_j_provider.json +++ b/schema/context_providers_directory/hubbard_j_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/hubbard-j-context-provider", + "$id": "context-providers-directory/hubbard-j-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Hubbard J Provider Schema", "description": "Hubbard parameters for DFT+U+J calculation.", @@ -11,7 +11,13 @@ "paramType": { "type": "string", "title": "Species", - "enum": ["U", "J", "B", "E2", "E3"] + "enum": [ + "U", + "J", + "B", + "E2", + "E3" + ] }, "atomicSpecies": { "type": "string", diff --git a/schema/context_providers_directory/hubbard_legacy_provider.json b/schema/context_providers_directory/hubbard_legacy_provider.json index 0c123d895..44157ef12 100644 --- a/schema/context_providers_directory/hubbard_legacy_provider.json +++ b/schema/context_providers_directory/hubbard_legacy_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/hubbard-legacy-context-provider", + "$id": "context-providers-directory/hubbard-legacy-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Hubbard Legacy Provider Schema", "description": "Hubbard parameters for DFT+U calculation.", diff --git a/schema/context_providers_directory/hubbard_u_provider.json b/schema/context_providers_directory/hubbard_u_provider.json index 172551d9b..0d55036b2 100644 --- a/schema/context_providers_directory/hubbard_u_provider.json +++ b/schema/context_providers_directory/hubbard_u_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/hubbard-u-context-provider", + "$id": "context-providers-directory/hubbard-u-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Hubbard U Provider Schema", "description": "Hubbard U parameters for DFT+U or DFT+U+V calculation.", diff --git a/schema/context_providers_directory/hubbard_v_provider.json b/schema/context_providers_directory/hubbard_v_provider.json index 7b5e42370..94fdd7278 100644 --- a/schema/context_providers_directory/hubbard_v_provider.json +++ b/schema/context_providers_directory/hubbard_v_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/hubbard-v-context-provider", + "$id": "context-providers-directory/hubbard-v-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Hubbard V Provider Schema", "description": "Hubbard V parameters for DFT+U+V calculation.", diff --git a/schema/context_providers_directory/ion_dynamics_provider.json b/schema/context_providers_directory/ion_dynamics_provider.json index a9664b5ef..845f2705c 100644 --- a/schema/context_providers_directory/ion_dynamics_provider.json +++ b/schema/context_providers_directory/ion_dynamics_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/ion-dynamics-context-provider", + "$id": "context-providers-directory/ion-dynamics-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Ion Dynamics Provider Schema", "description": "Important parameters for molecular dynamics calculation", diff --git a/schema/context_providers_directory/ml_settings_provider.json b/schema/context_providers_directory/ml_settings_provider.json index b091558d7..563fb7e6f 100644 --- a/schema/context_providers_directory/ml_settings_provider.json +++ b/schema/context_providers_directory/ml_settings_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/ml-settings-context-provider", + "$id": "context-providers-directory/ml-settings-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "ML Settings Provider Schema", "description": "Settings important to machine learning runs.", @@ -10,7 +10,11 @@ }, "problem_category": { "type": "string", - "enum": ["regression", "classification", "clustering"] + "enum": [ + "regression", + "classification", + "clustering" + ] } } } diff --git a/schema/context_providers_directory/ml_train_test_split_provider.json b/schema/context_providers_directory/ml_train_test_split_provider.json index c136d91f9..6c72838b6 100644 --- a/schema/context_providers_directory/ml_train_test_split_provider.json +++ b/schema/context_providers_directory/ml_train_test_split_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/ml-train-test-split-context-provider", + "$id": "context-providers-directory/ml-train-test-split-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "ML Train Test Split Provider Schema", "description": "Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.", diff --git a/schema/context_providers_directory/neb_provider.json b/schema/context_providers_directory/neb_provider.json index b72b816fc..759030b35 100644 --- a/schema/context_providers_directory/neb_provider.json +++ b/schema/context_providers_directory/neb_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/neb-data-provider", + "$id": "context-providers-directory/neb-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "NEB Provider Schema", "description": "Number of intermediate NEB images.", diff --git a/schema/context_providers_directory/non_collinear_magnetization_provider.json b/schema/context_providers_directory/non_collinear_magnetization_provider.json index 569e9bbb7..7d4a0e9b9 100644 --- a/schema/context_providers_directory/non_collinear_magnetization_provider.json +++ b/schema/context_providers_directory/non_collinear_magnetization_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/non-collinear-magnetization-context-provider", + "$id": "context-providers-directory/non-collinear-magnetization-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Non Collinear Magnetization Provider Schema", "description": "Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.", diff --git a/schema/context_providers_directory/planewave_cutoffs_provider.json b/schema/context_providers_directory/planewave_cutoffs_provider.json index 0a45e9cb9..8de0b009e 100644 --- a/schema/context_providers_directory/planewave_cutoffs_provider.json +++ b/schema/context_providers_directory/planewave_cutoffs_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/planewave-cutoffs-context-provider", + "$id": "context-providers-directory/planewave-cutoffs-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Planewave Cutoffs Provider Schema", "description": "Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.", diff --git a/schema/context_providers_directory/points_grid_provider.json b/schema/context_providers_directory/points_grid_provider.json index fe5b17fa8..0c174a809 100644 --- a/schema/context_providers_directory/points_grid_provider.json +++ b/schema/context_providers_directory/points_grid_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/points-grid-data-provider", + "$id": "context-providers-directory/points-grid-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Points Grid Provider Schema", "description": "3D grid with shifts for k-point or q-point sampling.", @@ -31,7 +31,10 @@ }, "gridMetricType": { "type": "string", - "enum": ["KPPRA", "spacing"] + "enum": [ + "KPPRA", + "spacing" + ] }, "gridMetricValue": { "type": "number" diff --git a/schema/context_providers_directory/points_path_provider.json b/schema/context_providers_directory/points_path_provider.json index 70f8e65b8..1b7f6474d 100644 --- a/schema/context_providers_directory/points_path_provider.json +++ b/schema/context_providers_directory/points_path_provider.json @@ -1,5 +1,5 @@ { - "$id": "context-providers-directory/points-path-data-provider", + "$id": "context-providers-directory/points-path-provider", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Points Path Provider Schema", "description": "Path in reciprocal space for band structure calculations.", diff --git a/schema/in_memory_entity/named_defaultable_runtime_items.json b/schema/in_memory_entity/named_defaultable_runtime_items.json deleted file mode 100644 index 9c39b476a..000000000 --- a/schema/in_memory_entity/named_defaultable_runtime_items.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$id": "in-memory-entity/named-defaultable-runtime-items", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Named defaultable runtime items in-memory entity schema", - "allOf": [ - { - "$ref": "base.json" - }, - { - "$ref": "../system/name.json" - }, - { - "$ref": "../system/defaultable.json" - }, - { - "$ref": "../workflow/unit/runtime/runtime_items.json" - } - ] -} diff --git a/schema/material.json b/schema/material.json index 355f2d909..40c6ca4cb 100644 --- a/schema/material.json +++ b/schema/material.json @@ -6,7 +6,7 @@ "allOf": [ { "description": "in-memory entity", - "$ref": "in_memory_entity/named_defaultable_has_metadata.json" + "$ref": "in_memory_entity/named_defaultable.json" } ], "properties": { @@ -61,6 +61,26 @@ "items": { "$ref": "material/consistency_check.json" } + }, + "metadata": { + "type": "object", + "properties": { + "boundaryConditions": { + "type": "object", + "properties": { + "type": { + "$ref": "apse/file/applications/espresso/7.2/pw.x/system.json#/properties/esm_bc" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "type", + "offset" + ] + } + } } }, "required": [ diff --git a/schema/software/application.json b/schema/software/application.json index e9f5acd53..3cd9ba29e 100644 --- a/schema/software/application.json +++ b/schema/software/application.json @@ -6,33 +6,10 @@ "allOf": [ { "$ref": "../in_memory_entity/named_defaultable.json" - } - ], - "properties": { - "shortName": { - "description": "The short name of the application. e.g. qe", - "type": "string" - }, - "summary": { - "description": "Application's short description.", - "type": "string" - }, - "version": { - "description": "Application version. e.g. 5.3.5", - "type": "string" }, - "build": { - "description": "Application build. e.g. VTST", - "type": "string" - }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" - }, - "isLicensed": { - "description": "Whether licensing is present", - "type": "boolean" + { + "$ref": "application_properties.json" } - }, + ], "additionalProperties": true } diff --git a/schema/software/application_properties.json b/schema/software/application_properties.json new file mode 100644 index 000000000..4f3005442 --- /dev/null +++ b/schema/software/application_properties.json @@ -0,0 +1,38 @@ +{ + "$id": "software/application-properties", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "application properties schema", + "type": "object", + "properties": { + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + }, + "required": [ + "shortName", + "summary", + "version", + "build" + ] +} diff --git a/schema/software/executable.json b/schema/software/executable.json index 13ae7943d..5bdb5788d 100644 --- a/schema/software/executable.json +++ b/schema/software/executable.json @@ -5,27 +5,13 @@ "type": "object", "allOf": [ { - "$ref": "../in_memory_entity/named_defaultable_runtime_items.json" - } - ], - "properties": { - "name": { - "description": "The name of the executable. e.g. pw.x", - "type": "string" + "$ref": "../in_memory_entity/named_defaultable.json" }, - "applicationId": { - "description": "_ids of the application this executable belongs to", - "type": "array", - "items": { - "type": "string" - } + { + "$ref": "../system/runtime_items.json" }, - "hasAdvancedComputeOptions": { - "description": "Whether advanced compute options are present", - "type": "boolean" + { + "$ref": "executable_properties.json" } - }, - "required": [ - "name" ] } diff --git a/schema/software/executable_properties.json b/schema/software/executable_properties.json new file mode 100644 index 000000000..0d929e5d8 --- /dev/null +++ b/schema/software/executable_properties.json @@ -0,0 +1,27 @@ +{ + "$id": "software/executable-properties", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "executable properties schema", + "type": "object", + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + } + }, + "required": [ + "name", + "applicationId" + ] +} diff --git a/schema/software/flavor.json b/schema/software/flavor.json index 72651fdce..4d1d7368d 100644 --- a/schema/software/flavor.json +++ b/schema/software/flavor.json @@ -5,35 +5,13 @@ "type": "object", "allOf": [ { - "$ref": "../in_memory_entity/named_defaultable_runtime_items.json" - } - ], - "properties": { - "executableId": { - "description": "_id of the executable this flavor belongs to", - "type": "string" - }, - "executableName": { - "description": "name of the executable this flavor belongs to", - "type": "string" - }, - "applicationName": { - "description": "name of the application this flavor belongs to", - "type": "string" + "$ref": "../in_memory_entity/named_defaultable.json" }, - "input": { - "title": "execution unit input schema", - "type": "array", - "items": { - "$ref": "../workflow/unit/input/_inputItemId.json" - } + { + "$ref": "../system/runtime_items.json" }, - "supportedApplicationVersions": { - "description": "list of application versions this flavor supports", - "type": "array", - "items": { - "type": "string" - } + { + "$ref": "flavor_properties.json" } - } + ] } diff --git a/schema/software/flavor_properties.json b/schema/software/flavor_properties.json new file mode 100644 index 000000000..802ac8793 --- /dev/null +++ b/schema/software/flavor_properties.json @@ -0,0 +1,38 @@ +{ + "$id": "software/flavor-properties", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "flavor properties schema", + "type": "object", + "properties": { + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$ref": "../workflow/unit/input/_inputItemId.json" + } + }, + "supportedApplicationVersions": { + "description": "list of application versions this flavor supports", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "executableId", + "input" + ] +} diff --git a/schema/software/template.json b/schema/software/template.json index 5d542e850..b3b2cd1c6 100644 --- a/schema/software/template.json +++ b/schema/software/template.json @@ -4,35 +4,11 @@ "title": "template schema", "type": "object", "allOf": [ - { - "$ref": "../workflow/unit/input/_inputItem.json" - }, { "$ref": "../in_memory_entity/named.json" - } - ], - "properties": { - "applicationName": { - "type": "string" - }, - "applicationVersion": { - "type": "string" }, - "executableName": { - "type": "string" - }, - "contextProviders": { - "type": "array", - "items": { - "description": "render context provider names", - "$ref": "../workflow/unit/runtime/_runtime_item_name_object.json" - } - }, - "isManuallyChanged": { - "type": "boolean" + { + "$ref": "template_properties.json" } - }, - "required": [ - "content" ] } diff --git a/schema/software/template_properties.json b/schema/software/template_properties.json new file mode 100644 index 000000000..491aac8ab --- /dev/null +++ b/schema/software/template_properties.json @@ -0,0 +1,37 @@ +{ + "$id": "software/template-properties", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "template properties schema", + "type": "object", + "allOf": [ + { + "$ref": "../workflow/unit/input/_inputItem.json" + } + ], + "properties": { + "applicationName": { + "type": "string" + }, + "applicationVersion": { + "type": "string" + }, + "executableName": { + "type": "string" + }, + "contextProviders": { + "type": "array", + "items": { + "description": "render context provider names", + "$ref": "../system/runtime_item.json" + } + }, + "isManuallyChanged": { + "type": "boolean" + } + }, + "required": [ + "applicationName", + "executableName", + "contextProviders" + ] +} diff --git a/schema/system/name.json b/schema/system/name.json index a4a74c2b8..3bfdb3e34 100644 --- a/schema/system/name.json +++ b/schema/system/name.json @@ -8,5 +8,8 @@ "description": "entity name", "type": "string" } - } + }, + "required": [ + "name" + ] } diff --git a/schema/workflow/unit/runtime/_runtime_item_name_object.json b/schema/system/runtime_item.json similarity index 74% rename from schema/workflow/unit/runtime/_runtime_item_name_object.json rename to schema/system/runtime_item.json index fd1cfaf0b..49d15cd1f 100644 --- a/schema/workflow/unit/runtime/_runtime_item_name_object.json +++ b/schema/system/runtime_item.json @@ -1,7 +1,7 @@ { - "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$id": "system/runtime-item", "$schema": "http://json-schema.org/draft-07/schema#", - "title": "name result schema", + "title": "runtime item name object schema", "type": "object", "properties": { "name": { diff --git a/schema/workflow/unit/runtime/runtime_items.json b/schema/system/runtime_items.json similarity index 83% rename from schema/workflow/unit/runtime/runtime_items.json rename to schema/system/runtime_items.json index 3672b615f..7daf33738 100644 --- a/schema/workflow/unit/runtime/runtime_items.json +++ b/schema/system/runtime_items.json @@ -1,7 +1,7 @@ { - "$id": "workflow/unit/runtime/runtime-items", + "$id": "system/runtime-items", "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime items schema (pre-/post-processors, monitors, results", + "title": "runtime items schema", "type": "object", "properties": { "preProcessors": { @@ -32,5 +32,11 @@ "$ref": "runtime_item.json" } } - } + }, + "required": [ + "preProcessors", + "postProcessors", + "monitors", + "results" + ] } diff --git a/schema/workflow/unit/assertion.json b/schema/workflow/unit/assertion.json index ddb6283d5..3f9996884 100644 --- a/schema/workflow/unit/assertion.json +++ b/schema/workflow/unit/assertion.json @@ -6,25 +6,9 @@ "allOf": [ { "$ref": "./base.json" - } - ], - "properties": { - "type": { - "enum": [ - "assertion" - ] - }, - "statement": { - "type": "string", - "description": "The statement to be evaluated" }, - "errorMessage": { - "type": "string", - "description": "The error message to be displayed if the assertion fails" + { + "$ref": "./mixins/assertion.json" } - }, - "required": [ - "name", - "statement" ] } diff --git a/schema/workflow/unit/assignment.json b/schema/workflow/unit/assignment.json index 27702b90b..c743336d5 100644 --- a/schema/workflow/unit/assignment.json +++ b/schema/workflow/unit/assignment.json @@ -9,43 +9,9 @@ }, { "$ref": "./../../system/scope.json" - } - ], - "properties": { - "type": { - "enum": [ - "assignment" - ] - }, - "input": { - "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", - "type": "array", - "items": { - "$ref": "input/_inputItemScope.json" - } }, - "operand": { - "description": "Name of the global variable. e.g. 'x'", - "type": "string" - }, - "value": { - "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", - "oneOf": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "number" - } - ] + { + "$ref": "./mixins/assignment.json" } - }, - "required": [ - "name", - "operand", - "value" ] } diff --git a/schema/workflow/unit/base.json b/schema/workflow/unit/base.json index ff7bdc37b..7ceb1a053 100644 --- a/schema/workflow/unit/base.json +++ b/schema/workflow/unit/base.json @@ -5,64 +5,19 @@ "type": "object", "allOf": [ { - "$ref": "../../in_memory_entity/named_defaultable_runtime_items.json" + "$ref": "../../in_memory_entity/named_defaultable.json" + }, + { + "$ref": "../../system/runtime_items.json" }, { "$ref": "../../system/tags.json" }, { "$ref": "../../system/status.json" - } - ], - "properties": { - "_id": { - "type": "string" - }, - "isDraft": { - "type": "boolean" - }, - "type": { - "description": "type of the unit", - "type": "string" - }, - "name": { - "description": "name of the unit. e.g. pw_scf", - "type": "string" }, - "status": { - "description": "Status of the unit.", - "type": "string", - "enum": [ - "idle", - "active", - "warning", - "error", - "finished" - ] - }, - "head": { - "description": "Whether this unit is the first one to be executed.", - "type": "boolean" - }, - "flowchartId": { - "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", - "type": "string" - }, - "next": { - "description": "Next unit's flowchartId. If empty, the current unit is the last.", - "type": "string" - }, - "enableRender": { - "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", - "type": "boolean" - }, - "context": { - "type": "object" + { + "$ref": "./mixins/base.json" } - }, - "additionalProperties": true, - "required": [ - "type", - "flowchartId" ] } diff --git a/schema/workflow/unit/condition.json b/schema/workflow/unit/condition.json index 261eebc34..a01720e36 100644 --- a/schema/workflow/unit/condition.json +++ b/schema/workflow/unit/condition.json @@ -6,47 +6,9 @@ "allOf": [ { "$ref": "./base.json" - } - ], - "properties": { - "type": { - "enum": [ - "condition" - ] - }, - "input": { - "description": "Input information for condition.", - "type": "array", - "items": { - "$ref": "input/_inputItemScope.json" - } - }, - "statement": { - "description": "Condition statement. e.g. 'abs(x-total_energy) < 1e-5'", - "type": "string" - }, - "then": { - "description": "Flowchart ID reference for `then` part of the condition.", - "type": "string" }, - "else": { - "description": "Flowchart ID reference for `else` part of the condition.", - "type": "string" - }, - "maxOccurrences": { - "description": "Maximum occurrence of the condition, usable for loops.", - "type": "integer" - }, - "throwException": { - "description": "Throw exception on reaching to maximum occurence.", - "type": "boolean" + { + "$ref": "./mixins/condition.json" } - }, - "required": [ - "input", - "statement", - "then", - "else", - "maxOccurrences" ] } diff --git a/schema/workflow/unit/execution.json b/schema/workflow/unit/execution.json index e9b48a2f8..1906a6ddf 100644 --- a/schema/workflow/unit/execution.json +++ b/schema/workflow/unit/execution.json @@ -8,33 +8,10 @@ "$ref": "./base.json" }, { - "$ref": "runtime/runtime_items.json" - } - ], - "properties": { - "type": { - "enum": [ - "execution" - ] - }, - "application": { - "description": "Contains information about the simulation engine/application.", - "$ref": "../../software/application.json" - }, - "executable": { - "description": "Contains information about the simulation engine/application executable.", - "$ref": "../../software/executable.json" + "$ref": "../../system/runtime_items.json" }, - "flavor": { - "description": "Contains information about the simulation engine/application flavor.", - "$ref": "../../software/flavor.json" - }, - "input": { - "description": "unit input (type to be specified by the application's execution unit)" + { + "$ref": "./mixins/execution.json" } - }, - "required": [ - "input", - "application" ] } diff --git a/schema/workflow/unit/io.json b/schema/workflow/unit/io.json index 241f58e58..b9dba273e 100644 --- a/schema/workflow/unit/io.json +++ b/schema/workflow/unit/io.json @@ -6,48 +6,9 @@ "allOf": [ { "$ref": "./base.json" - } - ], - "properties": { - "type": { - "enum": [ - "io" - ] - }, - "subtype": { - "enum": [ - "input", - "output", - "dataFrame" - ] }, - "source": { - "enum": [ - "api", - "db", - "object_storage" - ] - }, - "input": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "io/api.json" - }, - { - "$ref": "io/db.json" - }, - { - "$ref": "io/object_storage.json" - } - ] - } + { + "$ref": "./mixins/io.json" } - }, - "required": [ - "subtype", - "source", - "input" ] } diff --git a/schema/workflow/unit/map.json b/schema/workflow/unit/map.json index 9e98af256..390a2b0d3 100644 --- a/schema/workflow/unit/map.json +++ b/schema/workflow/unit/map.json @@ -6,62 +6,9 @@ "allOf": [ { "$ref": "./base.json" - } - ], - "properties": { - "type": { - "enum": [ - "map" - ] - }, - "workflowId": { - "description": "Id of workflow to run inside map", - "type": "string" }, - "input": { - "description": "Input information for map.", - "type": "object", - "properties": { - "target": { - "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", - "type": "string" - }, - "scope": { - "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", - "type": "string" - }, - "name": { - "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", - "type": "string" - }, - "values": { - "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - } - ] - } - }, - "useValues": { - "type": "boolean" - } - }, - "required": [ - "target" - ] + { + "$ref": "./mixins/map.json" } - }, - "required": [ - "input", - "workflowId" ] } diff --git a/schema/workflow/unit/mixins/assertion.json b/schema/workflow/unit/mixins/assertion.json new file mode 100644 index 000000000..d8666df0f --- /dev/null +++ b/schema/workflow/unit/mixins/assertion.json @@ -0,0 +1,25 @@ +{ + "$id": "workflow/unit/mixins/assertion", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assertion unit mixin schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "assertion" + ] + }, + "statement": { + "type": "string", + "description": "The statement to be evaluated" + }, + "errorMessage": { + "type": "string", + "description": "The error message to be displayed if the assertion fails" + } + }, + "required": [ + "name", + "statement" + ] +} diff --git a/schema/workflow/unit/mixins/assignment.json b/schema/workflow/unit/mixins/assignment.json new file mode 100644 index 000000000..8c28ec769 --- /dev/null +++ b/schema/workflow/unit/mixins/assignment.json @@ -0,0 +1,44 @@ +{ + "$id": "workflow/unit/mixins/assignment", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "assignment unit mixin schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "assignment" + ] + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$ref": "../input/_inputItemScope.json" + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "name", + "operand", + "value" + ] +} + diff --git a/schema/workflow/unit/mixins/base.json b/schema/workflow/unit/mixins/base.json new file mode 100644 index 000000000..5a786063c --- /dev/null +++ b/schema/workflow/unit/mixins/base.json @@ -0,0 +1,54 @@ +{ + "$id": "workflow/unit/mixins/base", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "workflow base unit mixin schema", + "type": "object", + "properties": { + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + } + }, + "additionalProperties": true, + "required": [ + "type", + "flowchartId" + ] +} diff --git a/schema/workflow/unit/mixins/condition.json b/schema/workflow/unit/mixins/condition.json new file mode 100644 index 000000000..0b5bf4a11 --- /dev/null +++ b/schema/workflow/unit/mixins/condition.json @@ -0,0 +1,48 @@ +{ + "$id": "workflow/unit/mixins/condition", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "condition unit mixin schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "condition" + ] + }, + "input": { + "description": "Input information for condition.", + "type": "array", + "items": { + "$ref": "../input/_inputItemScope.json" + } + }, + "statement": { + "description": "Condition statement. e.g. 'abs(x-total_energy) < 1e-5'", + "type": "string" + }, + "then": { + "description": "Flowchart ID reference for `then` part of the condition.", + "type": "string" + }, + "else": { + "description": "Flowchart ID reference for `else` part of the condition.", + "type": "string" + }, + "maxOccurrences": { + "description": "Maximum occurrence of the condition, usable for loops.", + "type": "integer" + }, + "throwException": { + "description": "Throw exception on reaching to maximum occurence.", + "type": "boolean" + } + }, + "required": [ + "input", + "statement", + "then", + "else", + "maxOccurrences" + ] +} + diff --git a/schema/workflow/unit/mixins/execution.json b/schema/workflow/unit/mixins/execution.json new file mode 100644 index 000000000..49ca51601 --- /dev/null +++ b/schema/workflow/unit/mixins/execution.json @@ -0,0 +1,33 @@ +{ + "$id": "workflow/unit/mixins/execution", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "execution unit mixin schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "execution" + ] + }, + "application": { + "description": "Contains information about the simulation engine/application.", + "$ref": "../../../software/application.json" + }, + "executable": { + "description": "Contains information about the simulation engine/application executable.", + "$ref": "../../../software/executable.json" + }, + "flavor": { + "description": "Contains information about the simulation engine/application flavor.", + "$ref": "../../../software/flavor.json" + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)" + } + }, + "required": [ + "input", + "application" + ] +} + diff --git a/schema/workflow/unit/mixins/io.json b/schema/workflow/unit/mixins/io.json new file mode 100644 index 000000000..36991924e --- /dev/null +++ b/schema/workflow/unit/mixins/io.json @@ -0,0 +1,49 @@ +{ + "$id": "workflow/unit/mixins/io", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "data IO unit mixin schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "io" + ] + }, + "subtype": { + "enum": [ + "input", + "output", + "dataFrame" + ] + }, + "source": { + "enum": [ + "api", + "db", + "object_storage" + ] + }, + "input": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "../io/api.json" + }, + { + "$ref": "../io/db.json" + }, + { + "$ref": "../io/object_storage.json" + } + ] + } + } + }, + "required": [ + "subtype", + "source", + "input" + ] +} + diff --git a/schema/workflow/unit/mixins/map.json b/schema/workflow/unit/mixins/map.json new file mode 100644 index 000000000..da26b336f --- /dev/null +++ b/schema/workflow/unit/mixins/map.json @@ -0,0 +1,63 @@ +{ + "$id": "workflow/unit/mixins/map", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "map unit mixin schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "map" + ] + }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + }, + "required": [ + "target" + ] + } + }, + "required": [ + "input", + "workflowId" + ] +} + diff --git a/schema/workflow/unit/mixins/processing.json b/schema/workflow/unit/mixins/processing.json new file mode 100644 index 000000000..9547d5587 --- /dev/null +++ b/schema/workflow/unit/mixins/processing.json @@ -0,0 +1,30 @@ +{ + "$id": "workflow/unit/mixins/processing", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "processing unit mixin schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "processing" + ] + }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" + } + }, + "required": [ + "operation", + "operationType", + "inputData" + ] +} + diff --git a/schema/workflow/unit/mixins/reduce.json b/schema/workflow/unit/mixins/reduce.json new file mode 100644 index 000000000..c2dd34fc1 --- /dev/null +++ b/schema/workflow/unit/mixins/reduce.json @@ -0,0 +1,46 @@ +{ + "$id": "workflow/unit/mixins/reduce", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "reduce unit mixin schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "reduce" + ] + }, + "mapFlowchartId": { + "description": "corresponding map unit flowchart ID", + "type": "string" + }, + "input": { + "description": "input information for reduce unit", + "type": "array", + "items": { + "type": "object", + "properties": { + "operation": { + "description": "reduce operation, e.g. aggregate", + "type": "string" + }, + "arguments": { + "description": "arguments which are passed to reduce operation function", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "operation", + "arguments" + ] + } + } + }, + "required": [ + "mapFlowchartId", + "input" + ] +} + diff --git a/schema/workflow/unit/mixins/subworkflow.json b/schema/workflow/unit/mixins/subworkflow.json new file mode 100644 index 000000000..7a9d5fa0b --- /dev/null +++ b/schema/workflow/unit/mixins/subworkflow.json @@ -0,0 +1,14 @@ +{ + "$id": "workflow/unit/mixins/subworkflow", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "subworkflow unit mixin schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "subworkflow" + ] + } + } +} + diff --git a/schema/workflow/unit/processing.json b/schema/workflow/unit/processing.json index 339b75941..f7de7b620 100644 --- a/schema/workflow/unit/processing.json +++ b/schema/workflow/unit/processing.json @@ -6,29 +6,9 @@ "allOf": [ { "$ref": "./base.json" - } - ], - "properties": { - "type": { - "enum": [ - "processing" - ] - }, - "operation": { - "description": "Contains information about the operation used.", - "type": "string" }, - "operationType": { - "description": "Contains information about the specific type of the operation used.", - "type": "string" - }, - "inputData": { - "description": "unit input (type to be specified by the child units)" + { + "$ref": "./mixins/processing.json" } - }, - "required": [ - "operation", - "operationType", - "inputData" ] } diff --git a/schema/workflow/unit/reduce.json b/schema/workflow/unit/reduce.json index e5a987384..0499295d5 100644 --- a/schema/workflow/unit/reduce.json +++ b/schema/workflow/unit/reduce.json @@ -6,45 +6,9 @@ "allOf": [ { "$ref": "./base.json" - } - ], - "properties": { - "type": { - "enum": [ - "reduce" - ] - }, - "mapFlowchartId": { - "description": "corresponding map unit flowchart ID", - "type": "string" }, - "input": { - "description": "input information for reduce unit", - "type": "array", - "items": { - "type": "object", - "properties": { - "operation": { - "description": "reduce operation, e.g. aggregate", - "type": "string" - }, - "arguments": { - "description": "arguments which are passed to reduce operation function", - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "operation", - "arguments" - ] - } + { + "$ref": "./mixins/reduce.json" } - }, - "required": [ - "mapFlowchartId", - "input" ] } diff --git a/schema/workflow/unit/runtime/_runtime_item_full_object.json b/schema/workflow/unit/runtime/_runtime_item_full_object.json deleted file mode 100644 index df5327445..000000000 --- a/schema/workflow/unit/runtime/_runtime_item_full_object.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$id": "workflow/unit/runtime/-runtime-item-full-object", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "full result schema", - "type": "object", - "properties": { - "name": { - "description": "The name of this item. e.g. 'my_custom_property. '", - "type": "string" - } - }, - "required": [ - "name" - ] -} diff --git a/schema/workflow/unit/runtime/_runtime_item_string.json b/schema/workflow/unit/runtime/_runtime_item_string.json deleted file mode 100644 index 5161e59f4..000000000 --- a/schema/workflow/unit/runtime/_runtime_item_string.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$id": "workflow/unit/runtime/-runtime-item-string", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RuntimeItemString", - "description": "name of runtime item in shortened notation", - "type": "string" -} diff --git a/schema/workflow/unit/runtime/runtime_item.json b/schema/workflow/unit/runtime/runtime_item.json deleted file mode 100644 index f95a6e8af..000000000 --- a/schema/workflow/unit/runtime/runtime_item.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$id": "workflow/unit/runtime/runtime-item", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "runtime item schema", - "oneOf": [ - { - "$ref": "./_runtime_item_name_object.json" - }, - { - "$ref": "./_runtime_item_string.json" - } - ] -} diff --git a/schema/workflow/unit/subworkflow.json b/schema/workflow/unit/subworkflow.json index 9c916b9ac..5b64ef3cc 100644 --- a/schema/workflow/unit/subworkflow.json +++ b/schema/workflow/unit/subworkflow.json @@ -6,13 +6,9 @@ "allOf": [ { "$ref": "./base.json" + }, + { + "$ref": "./mixins/subworkflow.json" } - ], - "properties": { - "type": { - "enum": [ - "subworkflow" - ] - } - } + ] } diff --git a/src/py/mat3ra/esse/data/examples.py b/src/py/mat3ra/esse/data/examples.py index 980426f02..64197bc43 100644 --- a/src/py/mat3ra/esse/data/examples.py +++ b/src/py/mat3ra/esse/data/examples.py @@ -1,2 +1,2 @@ import json -EXAMPLES = json.loads(r'''[{"data":{"builder_meta":{"emmet_version":"0.84.3rc4","pymatgen_version":"2024.11.13","run_id":"32bfb79c-5ce0-41ab-ab69-69ba9fb96205","batch_id":null,"database_version":"2025.09.25","build_date":"2024-11-21T23:02:44.639000","license":"BY-C"},"nsites":44,"elements":["Cr","O","U"],"nelements":3,"composition":{"U":4,"Cr":4,"O":36},"composition_reduced":{"U":1,"Cr":1,"O":9},"formula_pretty":"UCrO9","formula_anonymous":"ABC9","chemsys":"Cr-O-U","volume":845.85269949399,"density":3.408189243856006,"density_atomic":19.223924988499775,"symmetry":{"crystal_system":"Monoclinic","symbol":"P2_1","hall":null,"number":4,"point_group":"2","symprec":0.1,"angle_tolerance":5,"version":"2.5.0"},"material_id":"mp-1179331","deprecated":false,"deprecation_reasons":null,"last_updated":"2025-09-23T22:41:33.498000","origins":[{"name":"structure","task_id":"mp-1894950","last_updated":"2021-02-08T10:46:04.704000"},{"name":"energy","task_id":"mp-1894950","last_updated":"2025-04-07T18:46:08.486000"},{"name":"electronic_structure","task_id":"mp-1894950","last_updated":"2021-02-08T10:46:04.704000"},{"name":"magnetism","task_id":"mp-1894950","last_updated":"2021-02-08T10:46:04.704000"}],"warnings":[],"structure":{"@module":"pymatgen.core.structure","@class":"Structure","charge":0,"lattice":{"matrix":[[9.695389,0,-0.217703999999999],[0,7.301272,0],[0.229925,0,11.943821]],"pbc":[true,true,true],"a":9.697832896731981,"b":7.301272,"c":11.946033885171513,"alpha":90,"beta":90.18348688985984,"gamma":90,"volume":845.85269949399},"properties":{},"sites":[{"species":[{"element":"U","occu":1}],"abc":[0.34232,0.192423999999999,0.873390999999999],"properties":{"magmom":-0.005},"label":"U","xyz":[3.519739988155,1.404939963327992,10.357101333730988]},{"species":[{"element":"U","occu":1}],"abc":[0.65768,0.692423999999999,0.126609],"properties":{"magmom":-0.006},"label":"U","xyz":[6.405574011845001,5.055575963327993,1.369015666269]},{"species":[{"element":"U","occu":1}],"abc":[0.073174999999999,0.183513999999999,0.30478000000000005],"properties":{"magmom":0.33},"label":"U","xyz":[0.7795366315749901,1.339885629807992,3.6243072741800013]},{"species":[{"element":"U","occu":1}],"abc":[0.926825,0.683514,0.6952200000000001],"properties":{"magmom":0.331},"label":"U","xyz":[9.145777368425001,4.990521629808,8.10180972582]},{"species":[{"element":"Cr","occu":1}],"abc":[0.445121999999999,0.6890200000000001,0.856606],"properties":{"magmom":-0.008},"label":"Cr","xyz":[4.51258607700799,5.03072243344,10.134243891638]},{"species":[{"element":"Cr","occu":1}],"abc":[0.554878,0.18902000000000002,0.143394],"properties":{"magmom":-0.008},"label":"Cr","xyz":[5.412727922992,1.38008643344,1.591873108362]},{"species":[{"element":"Cr","occu":1}],"abc":[0.114634,0.701735999999999,0.414016999999999],"properties":{"magmom":-0.055},"label":"Cr","xyz":[1.206614081350999,5.123565408191993,4.919988658620988]},{"species":[{"element":"Cr","occu":1}],"abc":[0.885366,0.201736,0.585982999999999],"properties":{"magmom":-0.055},"label":"Cr","xyz":[8.718699918649001,1.472929408192,6.806128341378989]},{"species":[{"element":"O","occu":1}],"abc":[0.043522,0.893138999999999,0.354294999999999],"properties":{"magmom":0.096},"label":"O","xyz":[0.5034239979329991,6.5210507728079925,4.222161147706989]},{"species":[{"element":"O","occu":1}],"abc":[0.956477999999999,0.393138999999999,0.645705],"properties":{"magmom":0.096},"label":"O","xyz":[9.421890002066991,2.870414772807993,7.503955852293001]},{"species":[{"element":"O","occu":1}],"abc":[0.160088999999999,0.190448999999999,0.9007600000000001],"properties":{"magmom":-0.001},"label":"O","xyz":[1.75923237262099,1.390519951127992,10.723664188304001]},{"species":[{"element":"O","occu":1}],"abc":[0.839911,0.690449,0.09924000000000001],"properties":{"magmom":-0.001},"label":"O","xyz":[8.166081627379,5.041155951128,1.002452811696001]},{"species":[{"element":"O","occu":1}],"abc":[0.208083,0.203714999999999,0.411352999999999],"properties":{"magmom":0.16},"label":"O","xyz":[2.112025967812,1.4873786254799921,4.86782609838099]},{"species":[{"element":"O","occu":1}],"abc":[0.791917,0.703715,0.588646999999999],"properties":{"magmom":0.161},"label":"O","xyz":[7.813288032188,5.138014625479999,6.8582909016189895]},{"species":[{"element":"O","occu":1}],"abc":[0.051286,0.517556,0.35074299999999903],"properties":{"magmom":0.061},"label":"O","xyz":[0.577882304528999,3.778817131232,4.178046441658989]},{"species":[{"element":"O","occu":1}],"abc":[0.948714,0.017556,0.649257],"properties":{"magmom":0.061},"label":"O","xyz":[9.347431695471,0.128181131231999,7.548070558341]},{"species":[{"element":"O","occu":1}],"abc":[0.345643,0.501618,0.8809],"properties":{"magmom":0},"label":"O","xyz":[3.553684272626999,3.662449458096,10.446064055228]},{"species":[{"element":"O","occu":1}],"abc":[0.654357,0.0016179999999990002,0.11910000000000001],"properties":{"magmom":0},"label":"O","xyz":[6.371629727373,0.011813458095992001,1.280052944772]},{"species":[{"element":"O","occu":1}],"abc":[0.518803999999999,0.193216,0.827388999999999],"properties":{"magmom":0.001},"label":"O","xyz":[5.220244010580991,1.410722570752,9.769240407352989]},{"species":[{"element":"O","occu":1}],"abc":[0.481195999999999,0.693215999999999,0.172611],"properties":{"magmom":0.001},"label":"O","xyz":[4.70506998941899,5.061358570751993,1.956876592647]},{"species":[{"element":"O","occu":1}],"abc":[0.580145,0.691645,0.946761],"properties":{"magmom":0.023},"label":"O","xyz":[5.84241547433,5.04988827244,11.181644026700999]},{"species":[{"element":"O","occu":1}],"abc":[0.419855,0.191644999999999,0.053238999999999],"properties":{"magmom":0.023},"label":"O","xyz":[4.08289852567,1.399252272439992,0.544472973298988]},{"species":[{"element":"O","occu":1}],"abc":[0.349993,0.882618999999999,0.872263999999999],"properties":{"magmom":0.004},"label":"O","xyz":[3.593873582477,6.444241391367993,10.34197020467199]},{"species":[{"element":"O","occu":1}],"abc":[0.650007,0.382619,0.127736],"properties":{"magmom":0.004},"label":"O","xyz":[6.331440417523001,2.793605391367999,1.384146795328]},{"species":[{"element":"O","occu":1}],"abc":[0.501463,0.680964,0.731358],"properties":{"magmom":0.013000000000000001},"label":"O","xyz":[5.030036342257,4.971903386208,8.626038537966]},{"species":[{"element":"O","occu":1}],"abc":[0.49853699999999906,0.18096399999999901,0.268642],"properties":{"magmom":0.013000000000000001},"label":"O","xyz":[4.895277657742992,1.321267386207992,3.100078462034]},{"species":[{"element":"O","occu":1}],"abc":[0.930782999999999,0.220374,0.206034],"properties":{"magmom":0.271},"label":"O","xyz":[9.071675627036992,1.609010515728,2.258198033682001]},{"species":[{"element":"O","occu":1}],"abc":[0.069217,0.720374,0.793966],"properties":{"magmom":0.271},"label":"O","xyz":[0.853638372962999,5.259646515728,9.467918966317999]},{"species":[{"element":"O","occu":1}],"abc":[0.080918999999999,0.703684,0.554352],"properties":{"magmom":0.065},"label":"O","xyz":[0.9120005660909901,5.137788286048,6.603464669016]},{"species":[{"element":"O","occu":1}],"abc":[0.919080999999999,0.203684,0.445648],"properties":{"magmom":0.065},"label":"O","xyz":[9.01331343390899,1.487152286048,5.122652330984001]},{"species":[{"element":"O","occu":1}],"abc":[0.278294,0.7107,0.398167],"properties":{"magmom":0.053},"label":"O","xyz":[2.789717133841,5.1890140104,4.695049659131]},{"species":[{"element":"O","occu":1}],"abc":[0.721706,0.2107,0.601833],"properties":{"magmom":0.053},"label":"O","xyz":[7.135596866159,1.5383780104,7.031067340869]},{"species":[{"element":"O","occu":1}],"abc":[0.17646799999999901,0.094245,0.180848999999999],"properties":{"magmom":0.513},"label":"O","xyz":[1.75250761237699,0.688108379639999,2.121610294556988]},{"species":[{"element":"O","occu":1}],"abc":[0.823531999999999,0.594245,0.819151],"properties":{"magmom":0.514},"label":"O","xyz":[8.172806387622991,4.33874437964,9.604506705443]},{"species":[{"element":"O","occu":1}],"abc":[0.18932000000000002,0.471528,0.143677],"properties":{"magmom":0.731},"label":"O","xyz":[1.868565979705,3.442754183616,1.674836648537]},{"species":[{"element":"O","occu":1}],"abc":[0.810681,0.971528,0.856323],"properties":{"magmom":0.734},"label":"O","xyz":[8.056757715684,7.093390183615999,10.051280133759]},{"species":[{"element":"O","occu":1}],"abc":[0.315463999999999,0.206185999999999,0.656413999999999],"properties":{"magmom":0.015},"label":"O","xyz":[3.20947218444599,1.505420068591992,7.771413543237989]},{"species":[{"element":"O","occu":1}],"abc":[0.684535999999999,0.706186,0.343586],"properties":{"magmom":0.016},"label":"O","xyz":[6.715841815553991,5.156056068592,3.954703456762001]},{"species":[{"element":"O","occu":1}],"abc":[0.36181,0.047728,0.615285],"properties":{"magmom":0.013000000000000001},"label":"O","xyz":[3.649358097715,0.348475110016,7.270086419745]},{"species":[{"element":"O","occu":1}],"abc":[0.63819,0.547728,0.384715],"properties":{"magmom":0.013000000000000001},"label":"O","xyz":[6.275955902285,3.999111110016,4.456030580255001]},{"species":[{"element":"O","occu":1}],"abc":[0.129413,0.600421,0.10017000000000001],"properties":{"magmom":0.797},"label":"O","xyz":[1.277740963907,4.383837035512,1.168238821818]},{"species":[{"element":"O","occu":1}],"abc":[0.870587,0.100421,0.89983],"properties":{"magmom":0.8},"label":"O","xyz":[8.647573036093,0.733201035512,10.557878178182001]},{"species":[{"element":"O","occu":1}],"abc":[0.42195000000000005,0.053349,0.522836],"properties":{"magmom":0.001},"label":"O","xyz":[4.21118245585,0.389515559927999,6.152799393556]},{"species":[{"element":"O","occu":1}],"abc":[0.5780500000000001,0.553349,0.477164],"properties":{"magmom":0.001},"label":"O","xyz":[5.714131544150001,4.040151559928,5.573317606444]}]},"property_name":"summary","task_ids":["mp-1894950","mp-1179331"],"uncorrected_energy_per_atom":-7.058860395227273,"energy_per_atom":-7.2405876679545464,"formation_energy_per_atom":-1.288214347499999,"energy_above_hull":0.5916241527727241,"is_stable":false,"equilibrium_reaction_energy_per_atom":null,"decomposes_to":[{"material_id":"mp-773920","formula":"Cr20 O48","amount":0.309090909090909},{"material_id":"mp-375","formula":"U1 O3","amount":0.36363636363636304},{"material_id":"mp-12957","formula":"O8","amount":0.32727272727272705}],"xas":null,"grain_boundaries":null,"band_gap":0,"cbm":null,"vbm":null,"efermi":-1.79489728,"is_gap_direct":false,"is_metal":true,"es_source_calc_id":null,"bandstructure":null,"dos":null,"dos_energy_up":null,"dos_energy_down":null,"is_magnetic":true,"ordering":"FiM","total_magnetization":7.2597574,"total_magnetization_normalized_vol":0.008582767903138,"total_magnetization_normalized_formula_units":1.81493935,"num_magnetic_sites":12,"num_unique_magnetic_sites":22,"types_of_magnetic_species":["U","Cr","O"],"bulk_modulus":null,"shear_modulus":null,"universal_anisotropy":null,"homogeneous_poisson":null,"e_total":null,"e_ionic":null,"e_electronic":null,"n":null,"e_ij_max":null,"weighted_surface_energy_EV_PER_ANG2":null,"weighted_surface_energy":null,"weighted_work_function":null,"surface_anisotropy":null,"shape_factor":null,"has_reconstructed":null,"possible_species":[],"has_props":{"materials":true,"thermo":true,"xas":false,"grain_boundaries":false,"chemenv":true,"electronic_structure":true,"absorption":false,"bandstructure":false,"dos":false,"magnetism":true,"elasticity":false,"dielectric":false,"piezoelectric":false,"surface_properties":false,"oxi_states":true,"provenance":true,"charge_density":true,"eos":false,"phonon":false,"insertion_electrodes":false,"substrates":false},"theoretical":true,"database_IDs":{}},"path":"apse/db/materials_project/2025.9.25/summary"},{"data":{"energy":-0.85663276,"energy_per_atom":-0.85663276,"volume":114.05180544066401,"formation_energy_per_atom":0.038769612068965564,"nsites":1,"unit_cell_formula":{"Cs":1},"pretty_formula":"Cs","is_hubbard":false,"elements":["Cs"],"nelements":1,"e_above_hull":0.038769612068965564,"hubbards":{},"is_compatible":true,"spacegroup":{"symprec":0.1,"source":"spglib","symbol":"Im-3m","number":229,"point_group":"m-3m","crystal_system":"cubic","hall":"-I 4 2 3"},"task_ids":["mp-990461","mp-990456","mp-990457","mp-1","mp-1056804","mp-1056825","mp-1056837","mp-1056840","mp-1439955","mp-1588651","mp-1686392"],"band_gap":0,"density":1.9350390306525629,"icsd_id":null,"icsd_ids":[626969,44754,76941,626975,426937],"cif":"# generated using pymatgen\ndata_Cs\n_symmetry_space_group_name_H-M 'P 1'\n_cell_length_a 5.29144986\n_cell_length_b 5.29144986\n_cell_length_c 5.29144986\n_cell_angle_alpha 109.47122063\n_cell_angle_beta 109.47122063\n_cell_angle_gamma 109.47122063\n_symmetry_Int_Tables_number 1\n_chemical_formula_structural Cs\n_chemical_formula_sum Cs1\n_cell_volume 114.05180544\n_cell_formula_units_Z 1\nloop_\n _symmetry_equiv_pos_site_id\n _symmetry_equiv_pos_as_xyz\n 1 'x, y, z'\nloop_\n _atom_site_type_symbol\n _atom_site_label\n _atom_site_symmetry_multiplicity\n _atom_site_fract_x\n _atom_site_fract_y\n _atom_site_fract_z\n _atom_site_occupancy\n Cs Cs0 1 0.00000000 0.00000000 0.00000000 1\n","total_magnetization":0.0023078,"material_id":"mp-1","oxide_type":"None","tags":["Cesium","Cesium - LT"],"elasticity":{"G_Reuss":0,"G_VRH":0,"G_Voigt":1,"G_Voigt_Reuss_Hill":0,"K_Reuss":2,"K_VRH":2,"K_Voigt":2,"K_Voigt_Reuss_Hill":2,"elastic_anisotropy":104.62,"elastic_tensor":[[2,2,2,0,0,0],[2,2,2,0,0,0],[2,2,2,0,0,0],[0,0,0,1,0,0],[0,0,0,0,1,0],[0,0,0,0,0,1]],"homogeneous_poisson":0.38,"poisson_ratio":0.38,"universal_anisotropy":104.62,"elastic_tensor_original":[[1.73311735771011,1.7018819040120994,1.7018819040120994,0,0,0],[1.701854348631678,1.7330667734495018,1.701854348631678,0,0,0],[1.7018998983082827,1.7018998983082827,1.73308559241878,0,0,0],[-0.0000012033337295666204,-0.0000013333337724174089,-0.000005220001719148464,1.3915437882900088,0,0],[-0.000004440001462244874,-0.0000054033351128359714,-0.000002403334124841945,0,1.3915428649563715,0],[-0.0000018466672748265455,-3.9333346287108985e-7,8.63333617692249e-7,0,0,1.3915430182897548]],"compliance_tensor":[[21424.8,-10615,-10615,0,0,0],[-10615,21424.8,-10615,0,0,0],[-10615,-10615,21424.8,0,0,0],[0,0,0,718.6,0,0],[0,0,0,0,718.6,0],[0,0,0,0,0,718.6]],"warnings":["c11 and c12 are within 5% or c12 is greater than c11","c11 and c13 are within 5% or c13 is greater than c11","c11 and c23 are within 5% or c23 is greater than c11","One or more K, G below 2 GPa"],"nsites":1},"piezo":null,"diel":null,"deprecated":false,"full_formula":"Cs1"},"path":"apse/db/materials_project/legacy/material"},{"data":{"phi":{"nelect":48,"phi":4.73414095269429,"scf_vbm":-1.6519,"scf_cbm":-1.6472,"Ef":-1.97822464,"scf_gap":0,"avg_max":2.7559163126942896,"scf_dir":false},"atoms":{"lattice_mat":[[3.353617811446221,0,0],[0,6.273423021773385,0],[0,0,33.313518]],"coords":[[0,0.6004615456553349,0.2002745956304112],[0.5,0.9651745521229684,0.205389889617873],[0,0.8600702878546368,0.2642586539633663],[0.5,0.3508476059345406,0.2471701152668883],[0.5,0.7055702442093444,0.1414059027438078],[0,0.2147957642231673,0.1584938427776558]],"elements":["Mo","Mo","Te","Te","Te","Te"],"abc":[3.35362,6.27342,33.31352],"angles":[90,90,90],"cartesian":false,"props":["","","","","",""]},"jid":"JVASP-677"},"path":"apse/db/nist_jarvis/2024.3.13/db_entry"},{"data":{"&CONTROL":{"calculation":"scf","title":"","verbosity":"low","restart_mode":"from_scratch","wf_collect":true,"tstress":true,"tprnfor":true,"outdir":"{{ JOB_WORK_DIR }}/outdir","wfcdir":"{{ JOB_WORK_DIR }}/outdir","prefix":"__prefix__","pseudo_dir":"{{ JOB_WORK_DIR }}/pseudo"},"&SYSTEM":{"ibrav":0,"nat":2,"ntyp":2,"ecutwfc":40,"ecutrho":200,"occupations":"smearing","degauss":0.005,"starting_magnetization":[0.01,0.02],"Hubbard_occ":[[1,1,0],[1,2,0.02]]},"&ELECTRONS":{"diagonalization":"david","diago_david_ndim":4,"diago_full_acc":true,"mixing_beta":0.3,"startingwfc":"atomic+random"},"&IONS":null,"&CELL":null,"ATOMIC_SPECIES":{"values":[{"X":"Cs","Mass_X":132.90543,"PseudoPot_X":"Cs.upf"},{"X":"Cl","Mass_X":35.4527,"PseudoPot_X":"Cl.upf"}]},"CELL_PARAMETERS":{"card_option":"angstrom","values":{"v1":[4.324582724,0,2.496799],"v2":[1.441527575,4.077255694,2.496799],"v3":[0,0,4.993598]}},"K_POINTS":{"card_option":"automatic","values":{"nk1":2,"nk2":2,"nk3":2,"sk1":0,"sk2":0,"sk3":0}}},"path":"apse/file/applications/espresso/7.2/pw.x"},{"data":{"min_vacuum_size":0,"in_unit_planes":true,"reorient_lattice":true,"symmetrize":false},"path":"apse/materials/builders/slab/pymatgen/parameters"},{"data":{"xDataArray":[0,1,2],"yDataSeries":[[0,0.5,1],[0,2.5,5]]},"path":"core/abstract/2d_data"},{"data":{"xAxis":{"label":"kpoint index"},"xDataArray":[0,1,2],"yAxis":{"label":"eigenvalues","units":"eV"},"yDataSeries":[[0,0.5,1],[0,2.5,5]]},"path":"core/abstract/2d_plot"},{"data":{"dimensions":[2,2,2],"shifts":[0,0,0]},"path":"core/abstract/3d_grid"},{"data":[0,5.5,0],"path":"core/abstract/coordinate_3d"},{"data":[[1,0,0],[0,1,0],[0,0,1]],"path":"core/abstract/matrix_3x3"},{"data":[1,0],"path":"core/abstract/vector_2d"},{"data":[1,0,0],"path":"core/abstract/vector_3d"},{"data":[true,false,false],"path":"core/abstract/vector_boolean_3d"},{"data":[[0,0.5,1],[0,2.5,5]],"path":"core/primitive/1d_data_series"},{"data":[true,false,false],"path":"core/primitive/array_of_3_booleans"},{"data":[1,0,0],"path":"core/primitive/array_of_3_numbers"},{"data":[{"id":1},{"id":2}],"path":"core/primitive/array_of_ids"},{"data":{"label":"energy","units":"eV"},"path":"core/primitive/axis"},{"data":{"value":0.1},"path":"core/primitive/scalar"},{"data":{"value":"example string"},"path":"core/primitive/string"},{"data":{"name":"pressure","scalar":[{"value":"1.2"},{"value":"3.3"}],"units":"kbar"},"path":"core/reference/experiment/condition"},{"data":{"latitude":24.3423424,"longitude":43.234232},"path":"core/reference/experiment/location"},{"data":{"authors":[{"affiliation":"Exabyte Inc.","first":"John","last":"Doe"}],"conditions":[{"name":"pressure","scalar":[{"value":"1.2"},{"value":"3.3"}],"units":"kbar"}],"method":"DFT","references":[{"authors":[{"affiliation":"Exabyte Inc.","first":"John","last":"Doe"}],"doi":"10.1000/xyz123"}],"timestamp":141182979832,"title":"Experiment 1"},"path":"core/reference/experiment"},{"data":{"affiliation":"Exabyte Inc.","first":"John","last":"Doe"},"path":"core/reference/literature/name"},{"data":{"end":"2","start":"1"},"path":"core/reference/literature/pages"},{"data":{"authors":[{"affiliation":"Exabyte Inc.","first":"John","last":"Doe"}],"doi":"10.1000/xyz123"},"path":"core/reference/literature"},{"data":{"_id":"nDAavgjrT5ezwFgod","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"title":"My Calculation"},"path":"core/reference/modeling/exabyte"},{"data":{"_id":"nDAavgjrT5ezwFgod","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"title":"My Calculation"},"path":"core/reference/modeling"},{"data":{"_id":"nDAavgjrT5ezwFgod","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"title":"My Calculation"},"path":"core/reference"},{"data":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"path":"core/reusable/atomic_vectors"},{"data":{"kpointConduction":[0,0,0],"kpointValence":[0,0,0],"name":"band_gap","type":"direct","units":"Ry","value":0.0947},"path":"core/reusable/band_gap"},{"data":{"shape":"box","min_coordinate":[0,0,0],"max_coordinate":[0.5,0.5,0.5]},"path":"core/reusable/coordinate_conditions/box"},{"data":{"shape":"cylinder","radius":0.25,"min_z":0,"max_z":1},"path":"core/reusable/coordinate_conditions/cylinder"},{"data":{"shape":"plane","plane_normal":[0,0,1],"plane_point_coordinate":[0,0,0.5]},"path":"core/reusable/coordinate_conditions/plane"},{"data":{"shape":"sphere","radius":0.25},"path":"core/reusable/coordinate_conditions/sphere"},{"data":{"shape":"triangular_prism","position_on_surface_1":[0.25,0.25],"position_on_surface_2":[0.75,0.25],"position_on_surface_3":[0.5,0.75],"min_z":0,"max_z":1},"path":"core/reusable/coordinate_conditions/triangular_prism"},{"data":{"name":"zero_point_energy","units":"eV","value":-0.0634},"path":"core/reusable/energy"},{"data":{"pathname":"/path/to/file/","basename":"some_file.png","filetype":"image"},"path":"core/reusable/file_metadata"},{"data":{"CONTAINER":"production-20160630-cluster-001","NAME":"/cluster-001-home/jrd101/data/jrd101-default/kernel-train-Cxmkj97aXKZeaRZov/Cxmkj97aXKZeaRZov.json","PROVIDER":"aws","REGION":"us-east-1","SIZE":6582,"TIMESTAMP":"1614217411"},"path":"core/reusable/object_storage_container_data"},{"data":{"properties":[{"name":"atomic_radius","value":4},{"name":"electronegativity","value":1.1},{"name":"ionization_potential","value":7.7,"units":"eV"}],"symbol":"Si"},"path":"element"},{"data":{"arguments":{"nband":1,"npools":1,"ntg":1},"cluster":{"fqdn":"master-1-staging.exabyte.io","jid":"1234.master-1-staging.exabyte.io"},"email":"demo@exabyte.io","errors":[{"domain":"rupy","message":"File Not Found: /home/demo/data/project1/job-123/job-config.json","reason":"FileNotFound"}],"excludeFilesPattern":"^.*.txt$","maxCPU":36,"nodes":1,"notify":"abe","ppn":1,"queue":"OF","timeLimit":"00:05:00"},"path":"job/compute"},{"data":{"_id":"FPjAaKfuYAL7tiHbm","_material":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Material","slug":"silicon-fcc"},"_project":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Project","slug":"project-default"},"compute":{"arguments":{"nband":1,"npools":1,"ntg":1},"cluster":{"fqdn":"master-1-staging.exabyte.io","jid":"1234.master-1-staging.exabyte.io"},"email":"demo@exabyte.io","errors":[{"domain":"rupy","message":"File Not Found: /home/demo/data/project1/job-123/job-config.json","reason":"FileNotFound"}],"excludeFilesPattern":"^.*.txt$","maxCPU":36,"nodes":1,"notify":"abe","ppn":1,"queue":"OF","timeLimit":"00:05:00"},"createdAt":"2018-11-19 06:41:46.877Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"name":"job","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"schemaVersion":"0.2.0","slug":"job","status":"pre-submission","workflow":{"_id":"FPjAaKfuYAL7tiHbm","createdAt":"2018-11-19 06:41:46.877Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"exabyteId":"qKtTzu9utCo6ac4n7","hash":"f4fd707d2e47c15f8d786cf159040954","isDefault":true,"name":"workflow","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"properties":["band_structure"],"schemaVersion":"0.2.0","slug":"workflow","subworkflows":[{"_id":"LCthJ6E2QabYCZqf4","application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","hasAdvancedComputeOptions":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","hasAdvancedComputeOptions":true},"compute":null,"executable":{"advancedComputeOptions":true,"applicationId":["eaJepm4AWfqpaCw59"],"isDefault":true,"monitors":[{"name":"standard_output"}],"name":"pw.x","postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"executableId":"4987JFJ3kKbwvFSG7","input":[{"templateId":"dJ7HYz5pQ4AuN5qc9"}],"name":"pw_scf"},"flowchartId":"execution","head":true,"input":[{"content":"K_POINTS automatic\n2 2 2 0 0 0","name":"pw_scf.in"}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution"}]}],"tags":["workflow"],"units":[{"_id":"LCthJ6E2QabYCZqf4","flowchartId":"05c362dc27ff1bb98d16fd60","type":"subworkflow","name":"subworkflow unit"}]}},"path":"job"},{"data":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"path":"material"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"direction":"z","size":20,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category/compound_pristine_structures/two-dimensional/interface/configuration"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"}],"direction":"x","actual_angle":45,"xy_shift":[0,0]},"path":"materials_category/defective_structures/one-dimensional/grain_boundary_linear/configuration"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.5,0.5,1.1],"element":{"chemical_element":"B"}},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category/defective_structures/two-dimensional/adatom/configuration"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"direction":"z","size":20,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category/defective_structures/two-dimensional/grain_boundary_planar/configuration"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"merge_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate_condition":{"shape":"box","min_coordinate":[0.3,0.3,0.3],"max_coordinate":[0.7,0.7,0.7]}}],"merge_method":"REPLACE"},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category/defective_structures/two-dimensional/island/configuration"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"merge_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate_condition":{"shape":"box","min_coordinate":[0,0,0],"max_coordinate":[0.7,0.7,0.7]}}],"merge_method":"REPLACE"},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z","cut_direction":[0,1,0]},"path":"materials_category/defective_structures/two-dimensional/terrace/configuration"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.25,0.25,0.25],"element":{"chemical_element":"B"}}],"merge_method":"REPLACE"},"path":"materials_category/defective_structures/zero-dimensional/point_defect/base_configuration"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.5,0.5,0.5],"element":{"chemical_element":"B"}}],"merge_method":"REPLACE"},"path":"materials_category/defective_structures/zero-dimensional/point_defect/interstitial"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.25,0.25,0.25],"element":{"chemical_element":"B"}}],"merge_method":"REPLACE"},"path":"materials_category/defective_structures/zero-dimensional/point_defect/substitutional"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"chemical_element":"Vac"}],"merge_method":"REPLACE"},"path":"materials_category/defective_structures/zero-dimensional/point_defect/vacancy"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices_2d":[1,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"termination_bottom":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"number_of_repetitions_width":3,"number_of_repetitions_length":5},{"direction":"y","size":15,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"y"},{"direction":"x","size":20,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"x"},"path":"materials_category/pristine_structures/two-dimensional/nanoribbon"},{"data":{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices_2d":[1,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"termination_bottom":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"number_of_repetitions_width":3,"number_of_repetitions_length":5},{"direction":"y","size":15,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"y"},"path":"materials_category/pristine_structures/two-dimensional/nanotape"},{"data":{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category/pristine_structures/two-dimensional/slab"},{"data":{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z","xy_supercell_matrix":[[2,0],[0,2]],"strain_matrix":[[1.02,0,0],[0,1.02,0],[0,0,1]]},"path":"materials_category/pristine_structures/two-dimensional/slab_strained_supercell"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.5,0.5,1.1],"element":{"chemical_element":"H"}},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.3,0.7,1.1],"element":{"chemical_element":"H"}},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.7,0.3,1.1],"element":{"chemical_element":"H"}}],"merge_method":"ADD","passivant":{"chemical_element":"H"},"bond_length":1},"path":"materials_category/processed_structures/two-dimensional/passivation/configuration"},{"data":[1,1],"path":"materials_category_components/entities/auxiliary/one-dimensional/miller_indices_2d"},{"data":[[2,0,0],[0,2,0],[0,0,2]],"path":"materials_category_components/entities/auxiliary/three-dimensional/supercell_matrix_3d"},{"data":[0,0,1],"path":"materials_category_components/entities/auxiliary/two-dimensional/miller_indices"},{"data":[[2,0],[0,2]],"path":"materials_category_components/entities/auxiliary/two-dimensional/supercell_matrix_2d"},{"data":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"path":"materials_category_components/entities/auxiliary/two-dimensional/termination"},{"data":{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.25,0.25,0.25]},"path":"materials_category_components/entities/auxiliary/zero-dimensional/crystal_site"},{"data":{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.25,0.25,0.25],"element":{"chemical_element":"B"}},"path":"materials_category_components/entities/auxiliary/zero-dimensional/point_defect_site"},{"data":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"path":"materials_category_components/entities/core/three-dimensional/crystal"},{"data":{"center_coordinate":[0.5,0.5,0.5],"shape":{"shape":"box","min_coordinate":[0,0,0],"max_coordinate":[0.5,0.5,0.5]}},"path":"materials_category_components/entities/core/three-dimensional/void"},{"data":{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}},"path":"materials_category_components/entities/core/two-dimensional/vacuum"},{"data":{"chemical_element":"Si"},"path":"materials_category_components/entities/core/zero-dimensional/atom"},{"data":{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices_2d":[1,1],"use_conventional_cell":true},"path":"materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines"},{"data":{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices_2d":[1,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"termination_bottom":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"number_of_repetitions_width":3,"number_of_repetitions_length":5},"path":"materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines_unique_repeated"},{"data":[2,2,1],"path":"materials_category_components/entities/reusable/three-dimensional/repetitions"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category_components/entities/reusable/two-dimensional/slab_stack_configuration"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"merge_method":"ADD"},"path":"materials_category_components/operations/core/combinations/merge"},{"data":{"stack_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z","gaps":[{"id":0,"value":2.5},{"id":1,"value":3}]},"path":"materials_category_components/operations/core/combinations/stack"},{"data":{"material":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"perturbation_function":"0.1*sin(x) + 0.1*cos(y)"},"path":"materials_category_components/operations/core/modifications/perturb"},{"data":{"matrix":[[2,0,0],[0,2,0],[0,0,2]]},"path":"materials_category_components/operations/core/modifications/repeat"},{"data":{"matrix":[[1.02,0,0],[0,1.02,0],[0,0,0.98]]},"path":"materials_category_components/operations/core/modifications/strain"},{"data":{"name":"PW-NCPP (Davidson Diagonalization, Gaussian Smearing)","path":"/qm/wf/pw:/qm/wf/psp/nc?functional=pbe:/qm/wf/smearing/gaussian:/linalg/diag/davidson","units":[{"name":"Plane-wave","path":"/qm/wf/pw","categories":{"tier1":"qm","tier2":"wf","type":"pw"}},{"name":"Norm-conserving PSP","path":"/qm/wf/psp/nc?functional=pbe","categories":{"tier1":"qm","tier2":"wf","type":"psp","subtype":"nc"},"parameters":{"functional":"pbe"}},{"name":"Gaussian Smearing method","path":"/qm/wf/smearing/gaussian","categories":{"tier1":"qm","tier2":"wf","type":"smearing","subtype":"gaussian"}},{"name":"Davidson Diagonalization","path":"/linalg/diag/davidson","categories":{"tier1":"linalg","tier2":"diag","type":"davidson"}}]},"path":"method/categorized_method"},{"data":{"basisSlug":"6-311G"},"path":"method/method_parameters"},{"data":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"path":"method"},{"data":{"type":"localorbital","subtype":"pople"},"path":"methods_directory/legacy/localorbital"},{"data":{"type":"pseudopotential","subtype":"us"},"path":"methods_directory/legacy/pseudopotential"},{"data":{"data":{"dataSet":{"exabyteIds":["LCthJ6E2QabYCZqf4","LCthJ6E2QabYCZqf5","LCthJ6E2QabYCZqf6","LCthJ6E2QabYCZqf7","LCthJ6E2QabYCZqf8","LCthJ6E2QabYCZqf9","LCthJ6E2QabYCZq10","LCthJ6E2QabYCZq11"],"extra":{}},"perProperty":[{"intercept":0.363,"name":"band_gaps:direct","perFeature":[{"coefficient":0.015,"importance":0.134,"name":"atomic_radius:Ge"},{"coefficient":0.016,"importance":0.135,"name":"atomic_radius:Si"}]},{"intercept":0.364,"name":"band_gaps:indirect","perFeature":[{"coefficient":0.016,"importance":0.135,"name":"atomic_radius:Ge"},{"coefficient":0.017,"importance":0.136,"name":"atomic_radius:Si"}]}]},"precision":{"perProperty":[{"score":0.8,"trainingError":0.002}]},"subtype":"least_squares","type":"linear"},"path":"methods_directory/legacy/regression"},{"data":{"type":"unknown","subtype":"unknown"},"path":"methods_directory/legacy/unknown"},{"data":{"name":"Conjugate gradient method","path":"/opt/diff/ordern/cg","categories":{"tier1":"opt","tier2":"diff","tier3":"ordern","type":"cg"}},"path":"methods_directory/mathematical/cg"},{"data":{"data":{"dataSet":{"exabyteIds":["LCthJ6E2QabYCZqf4","LCthJ6E2QabYCZqf5","LCthJ6E2QabYCZqf6","LCthJ6E2QabYCZqf7","LCthJ6E2QabYCZqf8","LCthJ6E2QabYCZqf9","LCthJ6E2QabYCZq10","LCthJ6E2QabYCZq11"],"extra":{}},"perProperty":[{"intercept":0.363,"name":"band_gaps:direct","perFeature":[{"coefficient":0.015,"importance":0.134,"name":"atomic_radius:Ge"},{"coefficient":0.016,"importance":0.135,"name":"atomic_radius:Si"}]},{"intercept":0.364,"name":"band_gaps:indirect","perFeature":[{"coefficient":0.016,"importance":0.135,"name":"atomic_radius:Ge"},{"coefficient":0.017,"importance":0.136,"name":"atomic_radius:Si"}]}]},"precision":{"perProperty":[{"score":0.8,"trainingError":0.002}]},"categories":{"type":"linear","subtype":"least_squares"},"name":"Linear least squares regression","path":"/linear/leastsq"},"path":"methods_directory/mathematical/regression"},{"data":{"name":"cc-pVTZ basis set","path":"/qm/wf/ao/dunning?basisSlug=cc-pvtz","categories":{"tier1":"qm","tier2":"wf","type":"ao","subtype":"dunning"},"parameters":{"basisSlug":"cc-pvtz"}},"path":"methods_directory/physical/ao/dunning"},{"data":{"slug":"pseudopotential","source":{"info":{},"type":"exabyte"},"data":{"element":"Ru","hash":"3349af97451e04faae570056fb6a110b","filename":"ru_pbe_dojo-oncv_0.4.upf","path":"/export/share/pseudo/ru/gga/pbe/dojo-oncv/0.4/nc/ru_pbe_dojo-oncv_0.4.upf","valenceConfiguration":[{"orbitalName":"4S","orbitalIndex":1,"principalNumber":4,"angularMomentum":0,"occupation":2},{"orbitalName":"4P","orbitalIndex":2,"principalNumber":4,"angularMomentum":1,"occupation":6},{"orbitalName":"4D","orbitalIndex":3,"principalNumber":4,"angularMomentum":2,"occupation":7},{"orbitalName":"5S","orbitalIndex":4,"principalNumber":5,"angularMomentum":0,"occupation":1}],"apps":["espresso"],"exchangeCorrelation":{"functional":"pbe","approximation":"gga"},"name":"pseudopotential","source":"dojo-oncv","type":"nc","version":"0.4","cutoffs":{"wavefunction":[{"accuracy_level":"standard","value":42,"unit":"Ry"},{"accuracy_level":"high","value":50,"unit":"Ry"},{"accuracy_level":"low","value":38,"unit":"Ry"}]}}},"path":"methods_directory/physical/psp/file"},{"data":{"name":"PAW Pseudopotential method","path":"/qm/wf/psp/paw","slug":"pseudopotential","categories":{"tier1":"qm","tier2":"wf","type":"psp","subtype":"paw"},"data":[{"slug":"pseudopotential","source":{"info":{},"type":"exabyte"},"data":{"element":"Ru","hash":"3349af97451e04faae570056fb6a110b","filename":"ru_pbe_dojo-oncv_0.4.upf","path":"/export/share/pseudo/ru/gga/pbe/dojo-oncv/0.4/nc/ru_pbe_dojo-oncv_0.4.upf","valenceConfiguration":[{"orbitalName":"4S","orbitalIndex":1,"principalNumber":4,"angularMomentum":0,"occupation":2},{"orbitalName":"4P","orbitalIndex":2,"principalNumber":4,"angularMomentum":1,"occupation":6},{"orbitalName":"4D","orbitalIndex":3,"principalNumber":4,"angularMomentum":2,"occupation":7},{"orbitalName":"5S","orbitalIndex":4,"principalNumber":5,"angularMomentum":0,"occupation":1}],"apps":["espresso"],"exchangeCorrelation":{"functional":"pbe","approximation":"gga"},"name":"pseudopotential","source":"dojo-oncv","type":"nc","version":"0.4","cutoffs":{"wavefunction":[{"accuracy_level":"standard","value":42,"unit":"Ry"},{"accuracy_level":"high","value":50,"unit":"Ry"},{"accuracy_level":"low","value":38,"unit":"Ry"}]}}}]},"path":"methods_directory/physical/psp"},{"data":{"name":"Plane wave basis","path":"/qm/wf/pw","categories":{"tier1":"qm","tier2":"wf","type":"pw"}},"path":"methods_directory/physical/pw"},{"data":{"name":"Methfessel-Paxton smearing","path":"/qm/wf/smearing/methfessel-paxton","categories":{"tier1":"qm","tier2":"wf","type":"smearing","subtype":"methfessel-paxton"}},"path":"methods_directory/physical/smearing"},{"data":{"name":"Optimized Tetrahedron method (Kawamura)","path":"/qm/wf/tetrahedron/optimized","categories":{"tier1":"qm","tier2":"wf","type":"tetrahedron","subtype":"optimized"}},"path":"methods_directory/physical/tetrahedron"},{"data":{"name":"PZ+U (magnetism)","categories":{"tier1":{"name":"physics-based","slug":"pb"},"tier2":{"name":"quantum-mechanical","slug":"qm"},"tier3":{"name":"density functional theory","slug":"dft"},"type":{"name":"Kohn-Sham DFT","slug":"ksdft"},"subtype":{"name":"Local Density Approximation","slug":"lda"}},"parameters":{"functional":"pz","spinPolarization":"collinear","hubbardType":"U"},"method":{"name":"PW-NCPP (Davidson Diagonalization, Gaussian Smearing)","path":"/qm/wf/pw:/qm/wf/psp/nc?functional=pbe:/qm/wf/smearing/gaussian:/linalg/diag/davidson","units":[{"name":"Plane-wave","path":"/qm/wf/pw","categories":{"tier1":"qm","tier2":"wf","type":"pw"}},{"name":"Norm-conserving PSP","path":"/qm/wf/psp/nc?functional=pbe","categories":{"tier1":"qm","tier2":"wf","type":"psp","subtype":"nc"},"parameters":{"functional":"pbe"}},{"name":"Gaussian Smearing method","path":"/qm/wf/smearing/gaussian","categories":{"tier1":"qm","tier2":"wf","type":"smearing","subtype":"gaussian"}},{"name":"Davidson Diagonalization","path":"/linalg/diag/davidson","categories":{"tier1":"linalg","tier2":"diag","type":"davidson"}}]}},"path":"model/categorized_model"},{"data":{"functional":"pbe","dispersionCorrection":"dft-d3","hubbardType":"u","spinPolarization":"collinear","spinOrbitCoupling":true},"path":"model/model_parameters"},{"data":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft"},"path":"model"},{"data":{"tier1":"pb","tier2":"qm","tier3":"abin","type":"gw","subtype":"evgw"},"path":"models_category/pb/qm/abin/gw"},{"data":{"tier1":"pb","tier2":"qm","tier3":"dft","type":"ksdft"},"path":"models_category/pb/qm/dft/ksdft"},{"data":{"tier1":"pb","tier2":"qm","tier3":"semp"},"path":"models_category/pb/qm/semp"},{"data":{"name":"PBE-D3 (SOC)","categories":{"tier1":"pb","tier2":"qm","tier3":"dft","type":"ksdft","subtype":"gga"},"parameters":{"functional":"pbe","spinOrbitCoupling":true,"dispersionCorrection":"DFT-D3"}},"path":"models_directory/gga"},{"data":{"name":"G0W0@PBE (SOC)","categories":{"tier1":"pb","tier2":"qm","tier3":"abin","type":"gw","subtype":"g0w0"},"parameters":{"functional":"pbe","require":"/pb/qm/dft/ksdft/gga","spinOrbitCoupling":true}},"path":"models_directory/gw"},{"data":{"name":"HSE06 (SOC)","categories":{"tier1":"pb","tier2":"qm","tier3":"dft","type":"ksdft","subtype":"hybrid"},"parameters":{"functional":"hse06","spinOrbitCoupling":true,"spinPolarization":"non-collinear"}},"path":"models_directory/hybrid"},{"data":{"name":"PZ+U (magnetism)","categories":{"tier1":"pb","tier2":"qm","tier3":"dft","type":"ksdft","subtype":"lda"},"parameters":{"functional":"pz","spinPolarization":"collinear","hubbardType":"U"}},"path":"models_directory/lda"},{"data":{"type":"dft","subtype":"gga","functional":"pbe","method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"}},"path":"models_directory/legacy/dft"},{"data":{"type":"ml","subtype":"re","method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"}},"path":"models_directory/legacy/ml"},{"data":{"type":"unknown","subtype":"unknown","method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"}},"path":"models_directory/legacy/unknown"},{"data":{"name":"regression","categories":{"tier1":"st","tier2":"det","tier3":"ml","type":"re"},"parameters":{}},"path":"models_directory/re"},{"data":{"_id":"tvFyik5699io8khi8","chargeRate":{"rate":2},"createdAt":"2019-01-03T23:52:26.809Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"description":"Default project","gid":3000000,"isDefault":true,"name":"Default","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"schemaVersion":"0.2.0","slug":"exadmin-default","tags":[],"updatedAt":"2019-01-04T00:12:37.316Z"},"path":"project"},{"data":{"charge":0,"multiplicity":1},"path":"properties_directory/electronic_configuration"},{"data":{"name":"atomic_radius","value":4},"path":"properties_directory/elemental/atomic_radius"},{"data":{"name":"electronegativity","value":1.1},"path":"properties_directory/elemental/electronegativity"},{"data":{"name":"ionization_potential","value":7.7,"units":"eV"},"path":"properties_directory/elemental/ionization_potential"},{"data":{"name":"band_gaps","values":[{"kpointConduction":[0,0,0],"kpointValence":[0,0,0],"type":"direct","units":"Ry","value":0.0947},{"type":"indirect","units":"Ry","value":0}]},"path":"properties_directory/non-scalar/band_gaps"},{"data":{"name":"band_structure","spin":[0.5,0.5,0.5,0.5],"xAxis":{"label":"kpoints","units":"crystal"},"xDataArray":[[0,0,0],[0.5,0.5,0.5]],"yAxis":{"label":"energy","units":"eV"},"yDataSeries":[[12.1,12.5],[11.1,11.5],[10.1,10.5],[9.5,8.5]]},"path":"properties_directory/non-scalar/band_structure"},{"data":{"name":"charge_density_profile","xAxis":{"label":"z coordinate"},"xDataArray":[-4.89,-4.78,-4.67],"yAxis":{"label":"charge density","units":"e/A"},"yDataSeries":[[2.3697,2.1422,2.0006]]},"path":"properties_directory/non-scalar/charge_density_profile"},{"data":{"legend":[{"electronicState":"2s","element":"C","index":1,"spin":0.5},{"electronicState":"2p","element":"C","index":2,"spin":0.5}],"name":"density_of_states","xAxis":{"label":"energy","units":"eV"},"xDataArray":[[0,0,0],[0.5,0.5,0.5]],"yAxis":{"label":"density of states","units":"states/unitcell"},"yDataSeries":[[12.1,12.5],[11.1,11.5],[10.1,10.5],[9.5,8.5]]},"path":"properties_directory/non-scalar/density_of_states"},{"data":{"name":"dielectric_tensor","values":[{"part":"real","spin":0.5,"frequencies":[0,0.06012024,0.120240481,0.180360721],"components":[[0,0,0],[0.019862988,0.019862988,0.019862987],[0.039813564,0.039813565,0.039813563],[0.059940387,0.059940389,0.059940385]]},{"part":"imaginary","spin":0.5,"frequencies":[0,0.06012024,0.120240481,0.180360721],"components":[[0,0,0],[0.019862988,0.019862988,0.019862987],[0.039813564,0.039813565,0.039813563],[0.059940387,0.059940389,0.059940385]]},{"part":"real","spin":-0.5,"frequencies":[0,0.06012024,0.120240481,0.180360721],"components":[[0,0,0],[0.019862988,0.019862988,0.019862987],[0.039813564,0.039813565,0.039813563],[0.059940387,0.059940389,0.059940385]]},{"part":"imaginary","spin":-0.5,"frequencies":[0,0.06012024,0.120240481,0.180360721],"components":[[0,0,0],[0.019862988,0.019862988,0.019862987],[0.039813564,0.039813565,0.039813563],[0.059940387,0.059940389,0.059940385]]}]},"path":"properties_directory/non-scalar/dielectric_tensor"},{"data":{"name":"file_content","basename":"my_json.json","filetype":"text","objectData":{"CONTAINER":"production-20160630-cluster-001","NAME":"/cluster-001-home/jrd101/data/jrd101-default/kernel-train-Cxmkj97aXKZeaRZov/Cxmkj97aXKZeaRZov.json","PROVIDER":"aws","REGION":"us-east-1","SIZE":6582,"TIMESTAMP":"1614217411"}},"path":"properties_directory/non-scalar/file_content"},{"data":{"name":"hubbard_u","units":"eV","values":[{"id":1,"atomicSpecies":"Co1","orbitalName":"3d","value":6.7553},{"id":2,"atomicSpecies":"Co2","orbitalName":"3d","value":6.7553},{"id":3,"atomicSpecies":"O","orbitalName":"3p","value":2.2438}]},"path":"properties_directory/non-scalar/hubbard_u"},{"data":{"name":"hubbard_v","units":"eV","values":[{"id":1,"atomicSpecies":"Co","id2":1,"atomicSpecies2":"Co","distance":0,"value":7.7514},{"id":1,"atomicSpecies":"Co","id2":19,"atomicSpecies2":"O","distance":3.630748,"value":0.7573}]},"path":"properties_directory/non-scalar/hubbard_v"},{"data":{"name":"hubbard_v_nn","units":"eV","values":[{"id":1,"atomicSpecies":"Co","orbitalName":"3d","id2":1,"atomicSpecies2":"Co","orbitalName2":"3d","value":7.7514},{"id":1,"atomicSpecies":"Co","orbitalName":"3d","id2":19,"atomicSpecies2":"O","orbitalName2":"2p","value":0.7573}]},"path":"properties_directory/non-scalar/hubbard_v_nn"},{"data":{"name":"phonon_dispersions","xAxis":{"label":"qpoints","units":"crystal"},"xDataArray":[[0,0,0],[0.5,0.05,0.05]],"yAxis":{"label":"frequency","units":"cm-1"},"yDataSeries":[[-0.000006,-0.000006,-0.000005,734.596987,734.618837,734.618837],[-6.859784,-6.859784,36.443014,730.782803,731.143013,731.143013]]},"path":"properties_directory/non-scalar/phonon_dispersions"},{"data":{"name":"phonon_dos","xAxis":{"label":"frequency","units":"cm-1"},"xDataArray":[[565,566,567,568,569,570,571,572,573]],"yAxis":{"label":"Phonon DOS","units":"states/cm-1"},"yDataSeries":[[0.0001433,0.00011382,0.000087721,0.00006502,0.000045713,0.000029799,0.000017279,0.0000081527,0.0000024197]]},"path":"properties_directory/non-scalar/phonon_dos"},{"data":{"name":"potential_profile","xAxis":{"label":"z coordinate"},"xDataArray":[-4.89,-4.78,-4.67],"yAxis":{"label":"energy","units":"eV"},"yDataSeries":[[-6.5847438,-7.0900648,-7.5601238],[6.4872255,8.2828137,10.1322914],[-0.0975183,1.192749,2.5721676]]},"path":"properties_directory/non-scalar/potential_profile"},{"data":{"name":"reaction_energy_profile","xAxis":{"label":"reaction coordinate"},"xDataArray":[0,0.1932731666,0.3596118308,0.4999998753,0.640387977,0.8067267116,1],"yAxis":{"label":"energy","units":"eV"},"yDataSeries":[[0,0.0336637211,0.1282952413,0.2032895454,0.1282953846,0.0336637671,-5.3e-9]]},"path":"properties_directory/non-scalar/reaction_energy_profile"},{"data":{"name":"stress_tensor","units":"kbar","value":[[3,0,0],[0,3,0],[0,0,3]]},"path":"properties_directory/non-scalar/stress_tensor"},{"data":{"PAWDoubleCounting2":{"name":"PAW_double-counting_correction_2","value":12658.30538857},"PAWDoubleCounting3":{"name":"PAW_double-counting_correction_3","value":-12074.85364512},"alphaZ":{"name":"alphaZ","value":1056.91493097},"atomicEnergy":{"name":"atomic_energy","value":15740.5725788},"eigenvalues":{"name":"eigenvalues","value":-577.80127102},"ewald":{"name":"ewald","value":128376.45871064},"exchange":{"name":"exchange","value":0},"exchangeCorrelation":{"name":"exchange_correlation","value":41.63693035},"hartree":{"name":"hartree","value":-145344.66902862},"name":"total_energy_contributions","temperatureEntropy":{"name":"temperature_entropy","value":-0.00032545},"units":"eV"},"path":"properties_directory/non-scalar/total_energy_contributions"},{"data":{"name":"vibrational_spectrum","xAxis":{"label":"wavenumber","units":"cm-1"},"xDataArray":[[1625.972,3631.832,3735.535]],"yAxis":{"label":"Absorption coefficient","units":"km/mol"},"yDataSeries":[[46.681,1.139,14.281]]},"path":"properties_directory/non-scalar/vibrational_spectrum"},{"data":{"name":"electron_affinity","units":"eV","value":2.5},"path":"properties_directory/scalar/electron_affinity"},{"data":{"name":"fermi_energy","units":"eV","value":-1.2},"path":"properties_directory/scalar/fermi_energy"},{"data":{"name":"formation_energy","units":"eV","value":-123.43573079},"path":"properties_directory/scalar/formation_energy"},{"data":{"name":"ionization_potential","units":"eV","value":14},"path":"properties_directory/scalar/ionization_potential"},{"data":{"name":"pressure","units":"kbar","value":-27.345},"path":"properties_directory/scalar/pressure"},{"data":{"name":"reaction_energy_barrier","units":"eV","value":-123.43573079},"path":"properties_directory/scalar/reaction_energy_barrier"},{"data":{"name":"surface_energy","units":"eV/A^2","value":0.02},"path":"properties_directory/scalar/surface_energy"},{"data":{"name":"total_energy","units":"eV","value":-123.43573079},"path":"properties_directory/scalar/total_energy"},{"data":{"name":"total_force","units":"eV/angstrom","value":0.000001},"path":"properties_directory/scalar/total_force"},{"data":{"name":"valence_band_offset","units":"eV","value":0.245},"path":"properties_directory/scalar/valence_band_offset"},{"data":{"name":"zero_point_energy","units":"eV","value":-123.43573079},"path":"properties_directory/scalar/zero_point_energy"},{"data":{"name":"atomic_forces","units":"eV/bohr","values":[{"id":1,"value":[-3.9e-7,-2.4e-7,0]},{"id":2,"value":[3.9e-7,2.4e-7,0]}]},"path":"properties_directory/structural/atomic_forces"},{"data":{"name":"atomic_constraints","values":[{"id":1,"value":[true,false,true]},{"id":2,"value":[false,false,true]}]},"path":"properties_directory/structural/basis/atomic_constraints_property"},{"data":{"id":1,"value":[0,0,0]},"path":"properties_directory/structural/basis/atomic_coordinate"},{"data":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"path":"properties_directory/structural/basis/atomic_coordinates"},{"data":{"id":1,"value":"Si"},"path":"properties_directory/structural/basis/atomic_element"},{"data":[{"id":0,"value":"Si"},{"id":1,"value":"Si"}],"path":"properties_directory/structural/basis/atomic_elements"},{"data":{"id":0,"value":3},"path":"properties_directory/structural/basis/atomic_label"},{"data":[{"id":0,"value":"1"},{"id":1,"value":2}],"path":"properties_directory/structural/basis/atomic_labels"},{"data":[{"atomPair":[{"id":1},{"id":2}],"bondType":"single"},{"atomPair":[{"id":3},{"id":4}],"bondType":"double"}],"path":"properties_directory/structural/basis/bonds"},{"data":{"bonds":[{"0":{"atomPair":[{"id":1},{"id":2}],"bondType":"single"},"1":{"atomPair":[{"id":3},{"id":4}],"bondType":"double"}}],"coordinates":[{"id":1,"value":[0,0,0]}],"elements":[{"id":1,"value":"Si"}],"name":"basis","units":"crystal"},"path":"properties_directory/structural/basis"},{"data":{"name":"density","units":"g/cm^3","value":2.33},"path":"properties_directory/structural/density"},{"data":{"element":"Si","name":"elemental_ratio","value":0.71},"path":"properties_directory/structural/elemental_ratio"},{"data":{"name":"inchi","value":"1S/C6H6/c1-2-4-6-5-3-1/h1-6H"},"path":"properties_directory/structural/inchi"},{"data":{"name":"inchi_key","value":"UHOVQNZJYSORNB-UHFFFAOYSA-N"},"path":"properties_directory/structural/inchi_key"},{"data":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"},"path":"properties_directory/structural/lattice/vectors"},{"data":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"path":"properties_directory/structural/lattice"},{"data":{"name":"magnetic_moments","units":"uB","values":[{"id":1,"value":[0,0,1.235]},{"id":2,"value":[0,0,-1.235]}]},"path":"properties_directory/structural/magnetic_moments"},{"data":[{"SMARTS":"[O&D1]-C(=O)[#6X3]","atoms":[{"id":1,"isConnector":false},{"id":2,"isConnector":false},{"id":3,"isConnector":false},{"id":4,"isConnector":true}],"name":"functional_group"},{"atoms":[{"id":1,"isConnector":true},{"id":2,"isConnector":false},{"id":3,"isConnector":true}],"name":"special_bond"},{"atoms":[{"id":1,"isConnector":false},{"id":2,"isConnector":false},{"id":3,"isConnector":false},{"id":4,"isConnector":false},{"id":5,"isConnector":false},{"id":6,"isConnector":true}],"isAromatic":true,"name":"ring"}],"path":"properties_directory/structural/molecular_pattern"},{"data":{"degree":10,"name":"p-norm","value":0.71},"path":"properties_directory/structural/p-norm"},{"data":{"name":"symmetry","pointGroupSymbol":"C2v","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},"path":"properties_directory/structural/symmetry"},{"data":{"name":"volume","units":"angstrom^3","value":131.1},"path":"properties_directory/structural/volume"},{"data":{"name":"convergence_electronic","data":[[-123.45678,-12.345678,-1.2345678,-0.1234567,-0.0123456,-0.0012345,-0.0001234]],"tolerance":0.001,"units":"Ry"},"path":"properties_directory/workflow/convergence/electronic"},{"data":{"name":"convergence_ionic","data":[{"electronic":{"data":[0.10303193,0.04365779,0.00051472,0.00007496,0.00000309,5.6e-7],"units":"eV"},"energy":-123.45678}],"tolerance":0.001,"units":"eV"},"path":"properties_directory/workflow/convergence/ionic"},{"data":{"data":[{"grid":{"dimensions":[1,1,1],"shifts":[0,0,0]},"value":"-123.45678"}],"property":"total_energy","tolerance":0.001,"units":"eV"},"path":"properties_directory/workflow/convergence/kpoint"},{"data":{"_id":"K3McGkqXh28HJ775m","createdAt":"2018-11-19 06:41:46.877Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"data":{"name":"pressure","units":"kbar","value":-149.03},"group":"qe:dft:gga:pbe","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"repetition":0,"schemaVersion":"0.2.0","slug":"pressure","source":{"type":"exabyte","info":{"jobId":"XnYKCmgaAAzSQH5ac","unitId":"873d0293d04af431d31f07a0-pw-scf"}},"exabyteId":["XnYKCmgaAAzSQH5ac"]},"path":"property/holder"},{"data":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","hasAdvancedComputeOptions":true},"path":"software/application"},{"data":{"advancedComputeOptions":true,"applicationId":["eaJepm4AWfqpaCw59"],"isDefault":true,"monitors":[{"name":"standard_output"}],"name":"pw.x","postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"path":"software/executable"},{"data":{"executableId":"4987JFJ3kKbwvFSG7","input":[{"templateId":"dJ7HYz5pQ4AuN5qc9"}],"name":"pw_scf"},"path":"software/flavor"},{"data":{"applicationName":"espresso","applicationVersions":["6.0"],"content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","rendered":"K_POINTS automatic\n10 10 10 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}],"executableName":"pw.x","name":"kpoints_grid"},"path":"software/template"},{"data":{"nband":1,"npools":1,"ntg":1},"path":"software_directory/modeling/espresso/arguments"},{"data":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"7.2"},"path":"software_directory/modeling/espresso"},{"data":{"name":"NWChem","summary":"NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations","version":"6.6","exec":"nwchem"},"path":"software_directory/modeling/nwchem"},{"data":{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"7.2"},"flowchartId":"modeling","head":true,"input":[{"applicationName":"espresso","applicationVersions":["6.0"],"content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","rendered":"K_POINTS automatic\n10 10 10 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}],"executableName":"pw.x","name":"kpoints_grid"}],"name":"modeling","status":"idle","type":"execution"},"path":"software_directory/modeling/unit/execution"},{"data":{"name":"vasp","shortName":"vasp","summary":"vienna ab-initio simulation package","version":"5.3.5"},"path":"software_directory/modeling/vasp"},{"data":{"exec":"jupyter","flavor":"notebook","name":"jupyterLab","shortName":"jl","summary":"Jupyter Lab","version":"0.33.12"},"path":"software_directory/scripting/jupyter-lab"},{"data":{"exec":"python","flavor":"python2","name":"python","shortName":"py","summary":"Python Script","version":"2.7.5"},"path":"software_directory/scripting/python"},{"data":{"exec":"sh","flavor":"sh","name":"shell","shortName":"sh","summary":"Shell Script","version":"4.2.46"},"path":"software_directory/scripting/shell"},{"data":{"application":{"exec":"python","flavor":"python2","name":"python","shortName":"py","summary":"Python Script","version":"2.7.5"},"compute":null,"flowchartId":"scripting","head":true,"input":[{"applicationName":"espresso","applicationVersions":["6.0"],"content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","rendered":"K_POINTS automatic\n10 10 10 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}],"executableName":"pw.x","name":"kpoints_grid"}],"name":"scripting","status":"idle","type":"execution"},"path":"software_directory/scripting/unit/execution"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Material","slug":"silicon-fcc"},"path":"system/_material"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Job","slug":"parent-job"},"path":"system/_parent_job"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Project","slug":"project-default"},"path":"system/_project"},{"data":{"key":"basis.coordinates.0","name":"atomsTooClose","severity":"warning","message":"Atom 0 is too close to atom X"},"path":"system/consistency_check"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"path":"system/creator"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Class","slug":"Slug"},"path":"system/entity_reference"},{"data":{"extension":"poscar","filename":"POSCAR.mp-546794_SiO2.poscar","text":"Si4 O8\n1.0\n5.073173 0.000000 0.000000\n0.000000 5.073173 0.000000\n0.000000 0.000000 7.359653\nSi O\n4 8\ndirect\n0.000000 0.500000 0.250000 Si\n0.500000 0.500000 0.500000 Si\n0.500000 0.000000 0.750000 Si\n0.000000 0.000000 0.000000 Si\n0.750000 0.584672 0.375000 O\n0.915328 0.250000 0.125000 O\n0.084672 0.750000 0.125000 O\n0.250000 0.415328 0.375000 O\n0.250000 0.084672 0.875000 O\n0.415328 0.750000 0.625000 O\n0.584672 0.250000 0.625000 O\n0.750000 0.915328 0.875000 O","hash":"fce4c03798763a9ed8bf64d762c7fbfd"},"path":"system/file_source"},{"data":{"type":"from-iframe-to-host","action":"set-data","payload":{"property":{"name":"material"}}},"path":"system/iframe_message"},{"data":{"header":{"entity":{"_id":"FPjAaKfuYAL7tiHbm","flowchartId":"pw_scf","name":"unit"},"timestamp":1234923492.12,"version":"0.2.0"},"payload":{"name":"total_energy","units":"eV","value":-123.43573079}},"path":"system/message"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"path":"system/owner"},{"data":{"_id":"LCthJ6E2QabYCZqf4","application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","hasAdvancedComputeOptions":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","hasAdvancedComputeOptions":true},"compute":null,"executable":{"advancedComputeOptions":true,"applicationId":["eaJepm4AWfqpaCw59"],"isDefault":true,"monitors":[{"name":"standard_output"}],"name":"pw.x","postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"executableId":"4987JFJ3kKbwvFSG7","input":[{"templateId":"dJ7HYz5pQ4AuN5qc9"}],"name":"pw_scf"},"flowchartId":"execution","head":true,"input":[{"content":"K_POINTS automatic\n2 2 2 0 0 0","name":"pw_scf.in"}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution"}]},"path":"workflow/subworkflow"},{"data":{"flowchartId":"assignment","head":true,"input":[{"name":"N_K_x","scope":"global"},{"name":"N_K_y","scope":"global"}],"name":"assignment","operand":"N_K_x","status":"idle","type":"assignment","value":"N_K_x+N_K_y+1"},"path":"workflow/unit/assignment"},{"data":{"else":"sample_id_6","flowchartId":"condition","head":true,"input":[{"name":"x","scope":"global"},{"name":"total_energy","scope":"sample_id_2"}],"maxOccurrences":100,"name":"condition","statement":"abs(x-total_energy) < 1e-5","status":"idle","then":"sample_id_4","throwException":true,"type":"condition"},"path":"workflow/unit/condition"},{"data":{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","hasAdvancedComputeOptions":true},"compute":null,"executable":{"advancedComputeOptions":true,"applicationId":["eaJepm4AWfqpaCw59"],"isDefault":true,"monitors":[{"name":"standard_output"}],"name":"pw.x","postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"executableId":"4987JFJ3kKbwvFSG7","input":[{"templateId":"dJ7HYz5pQ4AuN5qc9"}],"name":"pw_scf"},"flowchartId":"execution","head":true,"input":[{"content":"K_POINTS automatic\n2 2 2 0 0 0","name":"pw_scf.in"}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution"},"path":"workflow/unit/execution"},{"data":{"name":"N_K_y","scope":"global"},"path":"workflow/unit/input/_inputItemScope"},{"data":{"endpoint":"data-frame","endpoint_options":{"data":{"features":["elemental_ratio:Si","elemental_ratio:Ge","ionization_potential:Ge","ionization_potential:Si"],"ids":["KuAsBRwofzGfHPWiT"],"targets":["band_gaps:indirect","band_gaps:direct"]},"headers":{"X-Auth-Token":"","X-User-Id":""},"method":"POST","params":{"query":{"formula":"SiGe"}}},"name":"DATA"},"path":"workflow/unit/io/api"},{"data":{"features":["elemental_ratio:Si","elemental_ratio:Ge","ionization_potential:Ge","ionization_potential:Si"],"ids":["KuAsBRwofzGfHPWiT"],"targets":["band_gaps:indirect","band_gaps:direct"]},"path":"workflow/unit/io/db"},{"data":{"basename":"index.html","overwrite":true,"objectData":{"CONTAINER":"production-20160630-cluster-001","NAME":"/cluster-001-home/jrd101/data/jrd101-default/kernel-train-Cxmkj97aXKZeaRZov/Cxmkj97aXKZeaRZov.json","PROVIDER":"aws","REGION":"us-east-1","SIZE":6582,"TIMESTAMP":"1614217411"},"filetype":"text/html"},"path":"workflow/unit/io/object_storage"},{"data":{"flowchartId":"io","head":true,"input":[{"endpoint":"data-frame","endpoint_options":{"data":{"features":["elemental_ratio:Si","elemental_ratio:Ge","ionization_potential:Ge","ionization_potential:Si"],"ids":["KuAsBRwofzGfHPWiT"],"targets":["band_gaps:indirect","band_gaps:direct"]},"headers":{"X-Auth-Token":"","X-User-Id":""},"method":"POST","params":{"query":{"formula":"SiGe"}}}}],"name":"io","source":"api","status":"idle","subtype":"input","type":"io"},"path":"workflow/unit/io"},{"data":{"flowchartId":"map","head":true,"input":{"target":"MAP_K_POINTS_1","values":["2 2 2 0 0 0","3 3 3 0 0 0","4 4 4 0 0 0"]},"name":"map","status":"idle","type":"map","workflowId":"zxjhEiaQvwWwvB3oM"},"path":"workflow/unit/map"},{"data":{"flowchartId":"data_transformation_manipulation","inputData":{"cleanMissingData":true,"removeDuplicateRows":true,"replaceNoneValuesWith":0},"name":"data_transformation_manipulation","operation":"data_transformation","operationType":"manipulation","status":"idle","type":"processing"},"path":"workflow/unit/processing"},{"data":{"flowchartId":"reduce","head":true,"input":[{"arguments":["band_gaps"],"operation":"aggregate"}],"mapFlowchartId":"1","name":"reduce","status":"idle","type":"reduce"},"path":"workflow/unit/reduce"},{"data":{"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"path":"workflow/unit/runtime/runtime_items"},{"data":{"_id":"FPjAaKfuYAL7tiHbm","createdAt":"2018-11-19 06:41:46.877Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"exabyteId":"qKtTzu9utCo6ac4n7","hash":"f4fd707d2e47c15f8d786cf159040954","isDefault":true,"name":"workflow","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"properties":["band_structure"],"schemaVersion":"0.2.0","slug":"workflow","subworkflows":[{"_id":"LCthJ6E2QabYCZqf4","application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","hasAdvancedComputeOptions":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","hasAdvancedComputeOptions":true},"compute":null,"executable":{"advancedComputeOptions":true,"applicationId":["eaJepm4AWfqpaCw59"],"isDefault":true,"monitors":[{"name":"standard_output"}],"name":"pw.x","postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"executableId":"4987JFJ3kKbwvFSG7","input":[{"templateId":"dJ7HYz5pQ4AuN5qc9"}],"name":"pw_scf"},"flowchartId":"execution","head":true,"input":[{"content":"K_POINTS automatic\n2 2 2 0 0 0","name":"pw_scf.in"}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution"}]}],"tags":["workflow"],"units":[{"_id":"LCthJ6E2QabYCZqf4","flowchartId":"05c362dc27ff1bb98d16fd60","type":"subworkflow","name":"subworkflow unit"}]},"path":"workflow"}]''') \ No newline at end of file +EXAMPLES = json.loads(r'''[{"data":{"builder_meta":{"emmet_version":"0.84.3rc4","pymatgen_version":"2024.11.13","run_id":"32bfb79c-5ce0-41ab-ab69-69ba9fb96205","batch_id":null,"database_version":"2025.09.25","build_date":"2024-11-21T23:02:44.639000","license":"BY-C"},"nsites":44,"elements":["Cr","O","U"],"nelements":3,"composition":{"U":4,"Cr":4,"O":36},"composition_reduced":{"U":1,"Cr":1,"O":9},"formula_pretty":"UCrO9","formula_anonymous":"ABC9","chemsys":"Cr-O-U","volume":845.85269949399,"density":3.408189243856006,"density_atomic":19.223924988499775,"symmetry":{"crystal_system":"Monoclinic","symbol":"P2_1","hall":null,"number":4,"point_group":"2","symprec":0.1,"angle_tolerance":5,"version":"2.5.0"},"material_id":"mp-1179331","deprecated":false,"deprecation_reasons":null,"last_updated":"2025-09-23T22:41:33.498000","origins":[{"name":"structure","task_id":"mp-1894950","last_updated":"2021-02-08T10:46:04.704000"},{"name":"energy","task_id":"mp-1894950","last_updated":"2025-04-07T18:46:08.486000"},{"name":"electronic_structure","task_id":"mp-1894950","last_updated":"2021-02-08T10:46:04.704000"},{"name":"magnetism","task_id":"mp-1894950","last_updated":"2021-02-08T10:46:04.704000"}],"warnings":[],"structure":{"@module":"pymatgen.core.structure","@class":"Structure","charge":0,"lattice":{"matrix":[[9.695389,0,-0.217703999999999],[0,7.301272,0],[0.229925,0,11.943821]],"pbc":[true,true,true],"a":9.697832896731981,"b":7.301272,"c":11.946033885171513,"alpha":90,"beta":90.18348688985984,"gamma":90,"volume":845.85269949399},"properties":{},"sites":[{"species":[{"element":"U","occu":1}],"abc":[0.34232,0.192423999999999,0.873390999999999],"properties":{"magmom":-0.005},"label":"U","xyz":[3.519739988155,1.404939963327992,10.357101333730988]},{"species":[{"element":"U","occu":1}],"abc":[0.65768,0.692423999999999,0.126609],"properties":{"magmom":-0.006},"label":"U","xyz":[6.405574011845001,5.055575963327993,1.369015666269]},{"species":[{"element":"U","occu":1}],"abc":[0.073174999999999,0.183513999999999,0.30478000000000005],"properties":{"magmom":0.33},"label":"U","xyz":[0.7795366315749901,1.339885629807992,3.6243072741800013]},{"species":[{"element":"U","occu":1}],"abc":[0.926825,0.683514,0.6952200000000001],"properties":{"magmom":0.331},"label":"U","xyz":[9.145777368425001,4.990521629808,8.10180972582]},{"species":[{"element":"Cr","occu":1}],"abc":[0.445121999999999,0.6890200000000001,0.856606],"properties":{"magmom":-0.008},"label":"Cr","xyz":[4.51258607700799,5.03072243344,10.134243891638]},{"species":[{"element":"Cr","occu":1}],"abc":[0.554878,0.18902000000000002,0.143394],"properties":{"magmom":-0.008},"label":"Cr","xyz":[5.412727922992,1.38008643344,1.591873108362]},{"species":[{"element":"Cr","occu":1}],"abc":[0.114634,0.701735999999999,0.414016999999999],"properties":{"magmom":-0.055},"label":"Cr","xyz":[1.206614081350999,5.123565408191993,4.919988658620988]},{"species":[{"element":"Cr","occu":1}],"abc":[0.885366,0.201736,0.585982999999999],"properties":{"magmom":-0.055},"label":"Cr","xyz":[8.718699918649001,1.472929408192,6.806128341378989]},{"species":[{"element":"O","occu":1}],"abc":[0.043522,0.893138999999999,0.354294999999999],"properties":{"magmom":0.096},"label":"O","xyz":[0.5034239979329991,6.5210507728079925,4.222161147706989]},{"species":[{"element":"O","occu":1}],"abc":[0.956477999999999,0.393138999999999,0.645705],"properties":{"magmom":0.096},"label":"O","xyz":[9.421890002066991,2.870414772807993,7.503955852293001]},{"species":[{"element":"O","occu":1}],"abc":[0.160088999999999,0.190448999999999,0.9007600000000001],"properties":{"magmom":-0.001},"label":"O","xyz":[1.75923237262099,1.390519951127992,10.723664188304001]},{"species":[{"element":"O","occu":1}],"abc":[0.839911,0.690449,0.09924000000000001],"properties":{"magmom":-0.001},"label":"O","xyz":[8.166081627379,5.041155951128,1.002452811696001]},{"species":[{"element":"O","occu":1}],"abc":[0.208083,0.203714999999999,0.411352999999999],"properties":{"magmom":0.16},"label":"O","xyz":[2.112025967812,1.4873786254799921,4.86782609838099]},{"species":[{"element":"O","occu":1}],"abc":[0.791917,0.703715,0.588646999999999],"properties":{"magmom":0.161},"label":"O","xyz":[7.813288032188,5.138014625479999,6.8582909016189895]},{"species":[{"element":"O","occu":1}],"abc":[0.051286,0.517556,0.35074299999999903],"properties":{"magmom":0.061},"label":"O","xyz":[0.577882304528999,3.778817131232,4.178046441658989]},{"species":[{"element":"O","occu":1}],"abc":[0.948714,0.017556,0.649257],"properties":{"magmom":0.061},"label":"O","xyz":[9.347431695471,0.128181131231999,7.548070558341]},{"species":[{"element":"O","occu":1}],"abc":[0.345643,0.501618,0.8809],"properties":{"magmom":0},"label":"O","xyz":[3.553684272626999,3.662449458096,10.446064055228]},{"species":[{"element":"O","occu":1}],"abc":[0.654357,0.0016179999999990002,0.11910000000000001],"properties":{"magmom":0},"label":"O","xyz":[6.371629727373,0.011813458095992001,1.280052944772]},{"species":[{"element":"O","occu":1}],"abc":[0.518803999999999,0.193216,0.827388999999999],"properties":{"magmom":0.001},"label":"O","xyz":[5.220244010580991,1.410722570752,9.769240407352989]},{"species":[{"element":"O","occu":1}],"abc":[0.481195999999999,0.693215999999999,0.172611],"properties":{"magmom":0.001},"label":"O","xyz":[4.70506998941899,5.061358570751993,1.956876592647]},{"species":[{"element":"O","occu":1}],"abc":[0.580145,0.691645,0.946761],"properties":{"magmom":0.023},"label":"O","xyz":[5.84241547433,5.04988827244,11.181644026700999]},{"species":[{"element":"O","occu":1}],"abc":[0.419855,0.191644999999999,0.053238999999999],"properties":{"magmom":0.023},"label":"O","xyz":[4.08289852567,1.399252272439992,0.544472973298988]},{"species":[{"element":"O","occu":1}],"abc":[0.349993,0.882618999999999,0.872263999999999],"properties":{"magmom":0.004},"label":"O","xyz":[3.593873582477,6.444241391367993,10.34197020467199]},{"species":[{"element":"O","occu":1}],"abc":[0.650007,0.382619,0.127736],"properties":{"magmom":0.004},"label":"O","xyz":[6.331440417523001,2.793605391367999,1.384146795328]},{"species":[{"element":"O","occu":1}],"abc":[0.501463,0.680964,0.731358],"properties":{"magmom":0.013000000000000001},"label":"O","xyz":[5.030036342257,4.971903386208,8.626038537966]},{"species":[{"element":"O","occu":1}],"abc":[0.49853699999999906,0.18096399999999901,0.268642],"properties":{"magmom":0.013000000000000001},"label":"O","xyz":[4.895277657742992,1.321267386207992,3.100078462034]},{"species":[{"element":"O","occu":1}],"abc":[0.930782999999999,0.220374,0.206034],"properties":{"magmom":0.271},"label":"O","xyz":[9.071675627036992,1.609010515728,2.258198033682001]},{"species":[{"element":"O","occu":1}],"abc":[0.069217,0.720374,0.793966],"properties":{"magmom":0.271},"label":"O","xyz":[0.853638372962999,5.259646515728,9.467918966317999]},{"species":[{"element":"O","occu":1}],"abc":[0.080918999999999,0.703684,0.554352],"properties":{"magmom":0.065},"label":"O","xyz":[0.9120005660909901,5.137788286048,6.603464669016]},{"species":[{"element":"O","occu":1}],"abc":[0.919080999999999,0.203684,0.445648],"properties":{"magmom":0.065},"label":"O","xyz":[9.01331343390899,1.487152286048,5.122652330984001]},{"species":[{"element":"O","occu":1}],"abc":[0.278294,0.7107,0.398167],"properties":{"magmom":0.053},"label":"O","xyz":[2.789717133841,5.1890140104,4.695049659131]},{"species":[{"element":"O","occu":1}],"abc":[0.721706,0.2107,0.601833],"properties":{"magmom":0.053},"label":"O","xyz":[7.135596866159,1.5383780104,7.031067340869]},{"species":[{"element":"O","occu":1}],"abc":[0.17646799999999901,0.094245,0.180848999999999],"properties":{"magmom":0.513},"label":"O","xyz":[1.75250761237699,0.688108379639999,2.121610294556988]},{"species":[{"element":"O","occu":1}],"abc":[0.823531999999999,0.594245,0.819151],"properties":{"magmom":0.514},"label":"O","xyz":[8.172806387622991,4.33874437964,9.604506705443]},{"species":[{"element":"O","occu":1}],"abc":[0.18932000000000002,0.471528,0.143677],"properties":{"magmom":0.731},"label":"O","xyz":[1.868565979705,3.442754183616,1.674836648537]},{"species":[{"element":"O","occu":1}],"abc":[0.810681,0.971528,0.856323],"properties":{"magmom":0.734},"label":"O","xyz":[8.056757715684,7.093390183615999,10.051280133759]},{"species":[{"element":"O","occu":1}],"abc":[0.315463999999999,0.206185999999999,0.656413999999999],"properties":{"magmom":0.015},"label":"O","xyz":[3.20947218444599,1.505420068591992,7.771413543237989]},{"species":[{"element":"O","occu":1}],"abc":[0.684535999999999,0.706186,0.343586],"properties":{"magmom":0.016},"label":"O","xyz":[6.715841815553991,5.156056068592,3.954703456762001]},{"species":[{"element":"O","occu":1}],"abc":[0.36181,0.047728,0.615285],"properties":{"magmom":0.013000000000000001},"label":"O","xyz":[3.649358097715,0.348475110016,7.270086419745]},{"species":[{"element":"O","occu":1}],"abc":[0.63819,0.547728,0.384715],"properties":{"magmom":0.013000000000000001},"label":"O","xyz":[6.275955902285,3.999111110016,4.456030580255001]},{"species":[{"element":"O","occu":1}],"abc":[0.129413,0.600421,0.10017000000000001],"properties":{"magmom":0.797},"label":"O","xyz":[1.277740963907,4.383837035512,1.168238821818]},{"species":[{"element":"O","occu":1}],"abc":[0.870587,0.100421,0.89983],"properties":{"magmom":0.8},"label":"O","xyz":[8.647573036093,0.733201035512,10.557878178182001]},{"species":[{"element":"O","occu":1}],"abc":[0.42195000000000005,0.053349,0.522836],"properties":{"magmom":0.001},"label":"O","xyz":[4.21118245585,0.389515559927999,6.152799393556]},{"species":[{"element":"O","occu":1}],"abc":[0.5780500000000001,0.553349,0.477164],"properties":{"magmom":0.001},"label":"O","xyz":[5.714131544150001,4.040151559928,5.573317606444]}]},"property_name":"summary","task_ids":["mp-1894950","mp-1179331"],"uncorrected_energy_per_atom":-7.058860395227273,"energy_per_atom":-7.2405876679545464,"formation_energy_per_atom":-1.288214347499999,"energy_above_hull":0.5916241527727241,"is_stable":false,"equilibrium_reaction_energy_per_atom":null,"decomposes_to":[{"material_id":"mp-773920","formula":"Cr20 O48","amount":0.309090909090909},{"material_id":"mp-375","formula":"U1 O3","amount":0.36363636363636304},{"material_id":"mp-12957","formula":"O8","amount":0.32727272727272705}],"xas":null,"grain_boundaries":null,"band_gap":0,"cbm":null,"vbm":null,"efermi":-1.79489728,"is_gap_direct":false,"is_metal":true,"es_source_calc_id":null,"bandstructure":null,"dos":null,"dos_energy_up":null,"dos_energy_down":null,"is_magnetic":true,"ordering":"FiM","total_magnetization":7.2597574,"total_magnetization_normalized_vol":0.008582767903138,"total_magnetization_normalized_formula_units":1.81493935,"num_magnetic_sites":12,"num_unique_magnetic_sites":22,"types_of_magnetic_species":["U","Cr","O"],"bulk_modulus":null,"shear_modulus":null,"universal_anisotropy":null,"homogeneous_poisson":null,"e_total":null,"e_ionic":null,"e_electronic":null,"n":null,"e_ij_max":null,"weighted_surface_energy_EV_PER_ANG2":null,"weighted_surface_energy":null,"weighted_work_function":null,"surface_anisotropy":null,"shape_factor":null,"has_reconstructed":null,"possible_species":[],"has_props":{"materials":true,"thermo":true,"xas":false,"grain_boundaries":false,"chemenv":true,"electronic_structure":true,"absorption":false,"bandstructure":false,"dos":false,"magnetism":true,"elasticity":false,"dielectric":false,"piezoelectric":false,"surface_properties":false,"oxi_states":true,"provenance":true,"charge_density":true,"eos":false,"phonon":false,"insertion_electrodes":false,"substrates":false},"theoretical":true,"database_IDs":{}},"path":"apse/db/materials_project/2025.9.25/summary"},{"data":{"energy":-0.85663276,"energy_per_atom":-0.85663276,"volume":114.05180544066401,"formation_energy_per_atom":0.038769612068965564,"nsites":1,"unit_cell_formula":{"Cs":1},"pretty_formula":"Cs","is_hubbard":false,"elements":["Cs"],"nelements":1,"e_above_hull":0.038769612068965564,"hubbards":{},"is_compatible":true,"spacegroup":{"symprec":0.1,"source":"spglib","symbol":"Im-3m","number":229,"point_group":"m-3m","crystal_system":"cubic","hall":"-I 4 2 3"},"task_ids":["mp-990461","mp-990456","mp-990457","mp-1","mp-1056804","mp-1056825","mp-1056837","mp-1056840","mp-1439955","mp-1588651","mp-1686392"],"band_gap":0,"density":1.9350390306525629,"icsd_id":null,"icsd_ids":[626969,44754,76941,626975,426937],"cif":"# generated using pymatgen\ndata_Cs\n_symmetry_space_group_name_H-M 'P 1'\n_cell_length_a 5.29144986\n_cell_length_b 5.29144986\n_cell_length_c 5.29144986\n_cell_angle_alpha 109.47122063\n_cell_angle_beta 109.47122063\n_cell_angle_gamma 109.47122063\n_symmetry_Int_Tables_number 1\n_chemical_formula_structural Cs\n_chemical_formula_sum Cs1\n_cell_volume 114.05180544\n_cell_formula_units_Z 1\nloop_\n _symmetry_equiv_pos_site_id\n _symmetry_equiv_pos_as_xyz\n 1 'x, y, z'\nloop_\n _atom_site_type_symbol\n _atom_site_label\n _atom_site_symmetry_multiplicity\n _atom_site_fract_x\n _atom_site_fract_y\n _atom_site_fract_z\n _atom_site_occupancy\n Cs Cs0 1 0.00000000 0.00000000 0.00000000 1\n","total_magnetization":0.0023078,"material_id":"mp-1","oxide_type":"None","tags":["Cesium","Cesium - LT"],"elasticity":{"G_Reuss":0,"G_VRH":0,"G_Voigt":1,"G_Voigt_Reuss_Hill":0,"K_Reuss":2,"K_VRH":2,"K_Voigt":2,"K_Voigt_Reuss_Hill":2,"elastic_anisotropy":104.62,"elastic_tensor":[[2,2,2,0,0,0],[2,2,2,0,0,0],[2,2,2,0,0,0],[0,0,0,1,0,0],[0,0,0,0,1,0],[0,0,0,0,0,1]],"homogeneous_poisson":0.38,"poisson_ratio":0.38,"universal_anisotropy":104.62,"elastic_tensor_original":[[1.73311735771011,1.7018819040120994,1.7018819040120994,0,0,0],[1.701854348631678,1.7330667734495018,1.701854348631678,0,0,0],[1.7018998983082827,1.7018998983082827,1.73308559241878,0,0,0],[-0.0000012033337295666204,-0.0000013333337724174089,-0.000005220001719148464,1.3915437882900088,0,0],[-0.000004440001462244874,-0.0000054033351128359714,-0.000002403334124841945,0,1.3915428649563715,0],[-0.0000018466672748265455,-3.9333346287108985e-7,8.63333617692249e-7,0,0,1.3915430182897548]],"compliance_tensor":[[21424.8,-10615,-10615,0,0,0],[-10615,21424.8,-10615,0,0,0],[-10615,-10615,21424.8,0,0,0],[0,0,0,718.6,0,0],[0,0,0,0,718.6,0],[0,0,0,0,0,718.6]],"warnings":["c11 and c12 are within 5% or c12 is greater than c11","c11 and c13 are within 5% or c13 is greater than c11","c11 and c23 are within 5% or c23 is greater than c11","One or more K, G below 2 GPa"],"nsites":1},"piezo":null,"diel":null,"deprecated":false,"full_formula":"Cs1"},"path":"apse/db/materials_project/legacy/material"},{"data":{"phi":{"nelect":48,"phi":4.73414095269429,"scf_vbm":-1.6519,"scf_cbm":-1.6472,"Ef":-1.97822464,"scf_gap":0,"avg_max":2.7559163126942896,"scf_dir":false},"atoms":{"lattice_mat":[[3.353617811446221,0,0],[0,6.273423021773385,0],[0,0,33.313518]],"coords":[[0,0.6004615456553349,0.2002745956304112],[0.5,0.9651745521229684,0.205389889617873],[0,0.8600702878546368,0.2642586539633663],[0.5,0.3508476059345406,0.2471701152668883],[0.5,0.7055702442093444,0.1414059027438078],[0,0.2147957642231673,0.1584938427776558]],"elements":["Mo","Mo","Te","Te","Te","Te"],"abc":[3.35362,6.27342,33.31352],"angles":[90,90,90],"cartesian":false,"props":["","","","","",""]},"jid":"JVASP-677"},"path":"apse/db/nist_jarvis/2024.3.13/db_entry"},{"data":{"&CONTROL":{"calculation":"scf","title":"","verbosity":"low","restart_mode":"from_scratch","wf_collect":true,"tstress":true,"tprnfor":true,"outdir":"{{ JOB_WORK_DIR }}/outdir","wfcdir":"{{ JOB_WORK_DIR }}/outdir","prefix":"__prefix__","pseudo_dir":"{{ JOB_WORK_DIR }}/pseudo"},"&SYSTEM":{"ibrav":0,"nat":2,"ntyp":2,"ecutwfc":40,"ecutrho":200,"occupations":"smearing","degauss":0.005,"starting_magnetization":[0.01,0.02],"Hubbard_occ":[[1,1,0],[1,2,0.02]]},"&ELECTRONS":{"diagonalization":"david","diago_david_ndim":4,"diago_full_acc":true,"mixing_beta":0.3,"startingwfc":"atomic+random"},"&IONS":null,"&CELL":null,"ATOMIC_SPECIES":{"values":[{"X":"Cs","Mass_X":132.90543,"PseudoPot_X":"Cs.upf"},{"X":"Cl","Mass_X":35.4527,"PseudoPot_X":"Cl.upf"}]},"CELL_PARAMETERS":{"card_option":"angstrom","values":{"v1":[4.324582724,0,2.496799],"v2":[1.441527575,4.077255694,2.496799],"v3":[0,0,4.993598]}},"K_POINTS":{"card_option":"automatic","values":{"nk1":2,"nk2":2,"nk3":2,"sk1":0,"sk2":0,"sk3":0}}},"path":"apse/file/applications/espresso/7.2/pw.x"},{"data":{"min_vacuum_size":0,"in_unit_planes":true,"reorient_lattice":true,"symmetrize":false},"path":"apse/materials/builders/slab/pymatgen/parameters"},{"data":{"xDataArray":[0,1,2],"yDataSeries":[[0,0.5,1],[0,2.5,5]]},"path":"core/abstract/2d_data"},{"data":{"xAxis":{"label":"kpoint index"},"xDataArray":[0,1,2],"yAxis":{"label":"eigenvalues","units":"eV"},"yDataSeries":[[0,0.5,1],[0,2.5,5]]},"path":"core/abstract/2d_plot"},{"data":{"dimensions":[2,2,2],"shifts":[0,0,0]},"path":"core/abstract/3d_grid"},{"data":[0,5.5,0],"path":"core/abstract/coordinate_3d"},{"data":[[1,0,0],[0,1,0],[0,0,1]],"path":"core/abstract/matrix_3x3"},{"data":[1,0],"path":"core/abstract/vector_2d"},{"data":[1,0,0],"path":"core/abstract/vector_3d"},{"data":[true,false,false],"path":"core/abstract/vector_boolean_3d"},{"data":[[0,0.5,1],[0,2.5,5]],"path":"core/primitive/1d_data_series"},{"data":[true,false,false],"path":"core/primitive/array_of_3_booleans"},{"data":[1,0,0],"path":"core/primitive/array_of_3_numbers"},{"data":[{"id":1},{"id":2}],"path":"core/primitive/array_of_ids"},{"data":{"label":"energy","units":"eV"},"path":"core/primitive/axis"},{"data":{"value":0.1},"path":"core/primitive/scalar"},{"data":{"value":"example string"},"path":"core/primitive/string"},{"data":{"name":"pressure","scalar":[{"value":"1.2"},{"value":"3.3"}],"units":"kbar"},"path":"core/reference/experiment/condition"},{"data":{"latitude":24.3423424,"longitude":43.234232},"path":"core/reference/experiment/location"},{"data":{"authors":[{"affiliation":"Exabyte Inc.","first":"John","last":"Doe"}],"conditions":[{"name":"pressure","scalar":[{"value":"1.2"},{"value":"3.3"}],"units":"kbar"}],"method":"DFT","references":[{"authors":[{"affiliation":"Exabyte Inc.","first":"John","last":"Doe"}],"doi":"10.1000/xyz123"}],"timestamp":141182979832,"title":"Experiment 1"},"path":"core/reference/experiment"},{"data":{"affiliation":"Exabyte Inc.","first":"John","last":"Doe"},"path":"core/reference/literature/name"},{"data":{"end":"2","start":"1"},"path":"core/reference/literature/pages"},{"data":{"authors":[{"affiliation":"Exabyte Inc.","first":"John","last":"Doe"}],"doi":"10.1000/xyz123"},"path":"core/reference/literature"},{"data":{"_id":"nDAavgjrT5ezwFgod","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"title":"My Calculation"},"path":"core/reference/modeling/exabyte"},{"data":{"_id":"nDAavgjrT5ezwFgod","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"title":"My Calculation"},"path":"core/reference/modeling"},{"data":{"_id":"nDAavgjrT5ezwFgod","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"title":"My Calculation"},"path":"core/reference"},{"data":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"path":"core/reusable/atomic_vectors"},{"data":{"kpointConduction":[0,0,0],"kpointValence":[0,0,0],"name":"band_gap","type":"direct","units":"Ry","value":0.0947},"path":"core/reusable/band_gap"},{"data":{"shape":"box","min_coordinate":[0,0,0],"max_coordinate":[0.5,0.5,0.5]},"path":"core/reusable/coordinate_conditions/box"},{"data":{"shape":"cylinder","radius":0.25,"min_z":0,"max_z":1},"path":"core/reusable/coordinate_conditions/cylinder"},{"data":{"shape":"plane","plane_normal":[0,0,1],"plane_point_coordinate":[0,0,0.5]},"path":"core/reusable/coordinate_conditions/plane"},{"data":{"shape":"sphere","radius":0.25},"path":"core/reusable/coordinate_conditions/sphere"},{"data":{"shape":"triangular_prism","position_on_surface_1":[0.25,0.25],"position_on_surface_2":[0.75,0.25],"position_on_surface_3":[0.5,0.75],"min_z":0,"max_z":1},"path":"core/reusable/coordinate_conditions/triangular_prism"},{"data":{"name":"zero_point_energy","units":"eV","value":-0.0634},"path":"core/reusable/energy"},{"data":{"pathname":"/path/to/file/","basename":"some_file.png","filetype":"image"},"path":"core/reusable/file_metadata"},{"data":{"CONTAINER":"production-20160630-cluster-001","NAME":"/cluster-001-home/jrd101/data/jrd101-default/kernel-train-Cxmkj97aXKZeaRZov/Cxmkj97aXKZeaRZov.json","PROVIDER":"aws","REGION":"us-east-1","SIZE":6582,"TIMESTAMP":"1614217411"},"path":"core/reusable/object_storage_container_data"},{"data":{"properties":[{"name":"atomic_radius","value":4},{"name":"electronegativity","value":1.1},{"name":"ionization_potential","value":7.7,"units":"eV"}],"symbol":"Si"},"path":"element"},{"data":{"arguments":{"nband":1,"npools":1,"ntg":1},"cluster":{"fqdn":"master-1-staging.exabyte.io","jid":"1234.master-1-staging.exabyte.io"},"email":"demo@exabyte.io","errors":[{"domain":"rupy","message":"File Not Found: /home/demo/data/project1/job-123/job-config.json","reason":"FileNotFound"}],"excludeFilesPattern":"^.*.txt$","maxCPU":36,"nodes":1,"notify":"abe","ppn":1,"queue":"OF","timeLimit":"00:05:00"},"path":"job/compute"},{"data":{"_id":"FPjAaKfuYAL7tiHbm","_material":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Material","slug":"silicon-fcc"},"_project":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Project","slug":"project-default"},"compute":{"arguments":{"nband":1,"npools":1,"ntg":1},"cluster":{"fqdn":"master-1-staging.exabyte.io","jid":"1234.master-1-staging.exabyte.io"},"email":"demo@exabyte.io","errors":[{"domain":"rupy","message":"File Not Found: /home/demo/data/project1/job-123/job-config.json","reason":"FileNotFound"}],"excludeFilesPattern":"^.*.txt$","maxCPU":36,"nodes":1,"notify":"abe","ppn":1,"queue":"OF","timeLimit":"00:05:00"},"createdAt":"2018-11-19 06:41:46.877Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"name":"job","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"schemaVersion":"0.2.0","slug":"job","status":"pre-submission","workflow":{"_id":"FPjAaKfuYAL7tiHbm","createdAt":"2018-11-19 06:41:46.877Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"exabyteId":"qKtTzu9utCo6ac4n7","hash":"f4fd707d2e47c15f8d786cf159040954","isDefault":true,"name":"workflow","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"properties":["band_structure"],"schemaVersion":"0.2.0","slug":"workflow","subworkflows":[{"_id":"LCthJ6E2QabYCZqf4","application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","build":"GNU","hasAdvancedComputeOptions":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","build":"GNU","hasAdvancedComputeOptions":true},"compute":null,"executable":{"advancedComputeOptions":true,"applicationId":["eaJepm4AWfqpaCw59"],"isDefault":true,"monitors":[{"name":"standard_output"}],"name":"pw.x","postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"executableId":"4987JFJ3kKbwvFSG7","input":[{"templateId":"dJ7HYz5pQ4AuN5qc9"}],"name":"pw_scf","postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"content":"K_POINTS automatic\n2 2 2 0 0 0","name":"pw_scf.in"}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution"}]}],"tags":["workflow"],"units":[{"_id":"LCthJ6E2QabYCZqf4","flowchartId":"05c362dc27ff1bb98d16fd60","type":"subworkflow","name":"subworkflow unit","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]}]}},"path":"job"},{"data":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"path":"material"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"direction":"z","size":20,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category/compound_pristine_structures/two-dimensional/interface/configuration"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"}],"direction":"x","actual_angle":45,"xy_shift":[0,0]},"path":"materials_category/defective_structures/one-dimensional/grain_boundary_linear/configuration"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.5,0.5,1.1],"element":{"chemical_element":"B"}},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category/defective_structures/two-dimensional/adatom/configuration"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"direction":"z","size":20,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category/defective_structures/two-dimensional/grain_boundary_planar/configuration"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"merge_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate_condition":{"shape":"box","min_coordinate":[0.3,0.3,0.3],"max_coordinate":[0.7,0.7,0.7]}}],"merge_method":"REPLACE"},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category/defective_structures/two-dimensional/island/configuration"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"merge_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate_condition":{"shape":"box","min_coordinate":[0,0,0],"max_coordinate":[0.7,0.7,0.7]}}],"merge_method":"REPLACE"},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z","cut_direction":[0,1,0]},"path":"materials_category/defective_structures/two-dimensional/terrace/configuration"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.25,0.25,0.25],"element":{"chemical_element":"B"}}],"merge_method":"REPLACE"},"path":"materials_category/defective_structures/zero-dimensional/point_defect/base_configuration"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.5,0.5,0.5],"element":{"chemical_element":"B"}}],"merge_method":"REPLACE"},"path":"materials_category/defective_structures/zero-dimensional/point_defect/interstitial"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.25,0.25,0.25],"element":{"chemical_element":"B"}}],"merge_method":"REPLACE"},"path":"materials_category/defective_structures/zero-dimensional/point_defect/substitutional"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"chemical_element":"Vac"}],"merge_method":"REPLACE"},"path":"materials_category/defective_structures/zero-dimensional/point_defect/vacancy"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices_2d":[1,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"termination_bottom":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"number_of_repetitions_width":3,"number_of_repetitions_length":5},{"direction":"y","size":15,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"y"},{"direction":"x","size":20,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"x"},"path":"materials_category/pristine_structures/two-dimensional/nanoribbon"},{"data":{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices_2d":[1,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"termination_bottom":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"number_of_repetitions_width":3,"number_of_repetitions_length":5},{"direction":"y","size":15,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"y"},"path":"materials_category/pristine_structures/two-dimensional/nanotape"},{"data":{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category/pristine_structures/two-dimensional/slab"},{"data":{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z","xy_supercell_matrix":[[2,0],[0,2]],"strain_matrix":[[1.02,0,0],[0,1.02,0],[0,0,1]]},"path":"materials_category/pristine_structures/two-dimensional/slab_strained_supercell"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.5,0.5,1.1],"element":{"chemical_element":"H"}},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.3,0.7,1.1],"element":{"chemical_element":"H"}},{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.7,0.3,1.1],"element":{"chemical_element":"H"}}],"merge_method":"ADD","passivant":{"chemical_element":"H"},"bond_length":1},"path":"materials_category/processed_structures/two-dimensional/passivation/configuration"},{"data":[1,1],"path":"materials_category_components/entities/auxiliary/one-dimensional/miller_indices_2d"},{"data":[[2,0,0],[0,2,0],[0,0,2]],"path":"materials_category_components/entities/auxiliary/three-dimensional/supercell_matrix_3d"},{"data":[0,0,1],"path":"materials_category_components/entities/auxiliary/two-dimensional/miller_indices"},{"data":[[2,0],[0,2]],"path":"materials_category_components/entities/auxiliary/two-dimensional/supercell_matrix_2d"},{"data":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"path":"materials_category_components/entities/auxiliary/two-dimensional/termination"},{"data":{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.25,0.25,0.25]},"path":"materials_category_components/entities/auxiliary/zero-dimensional/crystal_site"},{"data":{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"coordinate":[0.25,0.25,0.25],"element":{"chemical_element":"B"}},"path":"materials_category_components/entities/auxiliary/zero-dimensional/point_defect_site"},{"data":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"path":"materials_category_components/entities/core/three-dimensional/crystal"},{"data":{"center_coordinate":[0.5,0.5,0.5],"shape":{"shape":"box","min_coordinate":[0,0,0],"max_coordinate":[0.5,0.5,0.5]}},"path":"materials_category_components/entities/core/three-dimensional/void"},{"data":{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}},"path":"materials_category_components/entities/core/two-dimensional/vacuum"},{"data":{"chemical_element":"Si"},"path":"materials_category_components/entities/core/zero-dimensional/atom"},{"data":{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices_2d":[1,1],"use_conventional_cell":true},"path":"materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines"},{"data":{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices_2d":[1,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"termination_bottom":{"chemical_elements":"Si","space_group_symmetry_label":"p1"},"number_of_repetitions_width":3,"number_of_repetitions_length":5},"path":"materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines_unique_repeated"},{"data":[2,2,1],"path":"materials_category_components/entities/reusable/three-dimensional/repetitions"},{"data":{"stack_components":[{"stack_components":[{"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"miller_indices":[0,0,1],"use_conventional_cell":true,"termination_top":{"chemical_elements":"Si","space_group_symmetry_label":"P4/mmm_2"},"number_of_repetitions":5},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z"},"path":"materials_category_components/entities/reusable/two-dimensional/slab_stack_configuration"},{"data":{"merge_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"merge_method":"ADD"},"path":"materials_category_components/operations/core/combinations/merge"},{"data":{"stack_components":[{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},{"direction":"z","size":10,"crystal":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"}}],"direction":"z","gaps":[{"id":0,"value":2.5},{"id":1,"value":3}]},"path":"materials_category_components/operations/core/combinations/stack"},{"data":{"material":{"_id":"LCthJ6E2QabYCZqf3","basis":{"coordinates":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"elements":[{"id":1,"value":"Si"},{"id":2,"value":"Si"}],"name":"basis","units":"crystal"},"createdAt":"2016-04-03T05:25:37.430Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"derivedProperties":[{"name":"volume","units":"angstrom^3","value":131.1},{"name":"density","units":"g/cm^3","value":2.33},{"name":"symmetry","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},{"degree":10,"name":"p-norm","value":0.71},{"element":"Si","name":"elemental_ratio","value":0.71},{"name":"inchi","value":""},{"name":"inchi_key","value":""}],"exabyteId":"RKiswuxHKkF3uvLyA","formula":"Si","hash":"4ac3fa057e3530628eb1295c77110eaa","isDefault":false,"isNonPeriodic":false,"lattice":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"name":"Silicon FCC","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"scaledHash":"5bd4eb168e3530628eb1295d88221cbb","schemaVersion":"0.2.0","slug":"silicon-fcc","unitCellFormula":"Si2","updatedAt":"2016-04-04T17:58:42.867Z"},"perturbation_function":"0.1*sin(x) + 0.1*cos(y)"},"path":"materials_category_components/operations/core/modifications/perturb"},{"data":{"matrix":[[2,0,0],[0,2,0],[0,0,2]]},"path":"materials_category_components/operations/core/modifications/repeat"},{"data":{"matrix":[[1.02,0,0],[0,1.02,0],[0,0,0.98]]},"path":"materials_category_components/operations/core/modifications/strain"},{"data":{"name":"PW-NCPP (Davidson Diagonalization, Gaussian Smearing)","path":"/qm/wf/pw:/qm/wf/psp/nc?functional=pbe:/qm/wf/smearing/gaussian:/linalg/diag/davidson","units":[{"name":"Plane-wave","path":"/qm/wf/pw","categories":{"tier1":"qm","tier2":"wf","type":"pw"}},{"name":"Norm-conserving PSP","path":"/qm/wf/psp/nc?functional=pbe","categories":{"tier1":"qm","tier2":"wf","type":"psp","subtype":"nc"},"parameters":{"functional":"pbe"}},{"name":"Gaussian Smearing method","path":"/qm/wf/smearing/gaussian","categories":{"tier1":"qm","tier2":"wf","type":"smearing","subtype":"gaussian"}},{"name":"Davidson Diagonalization","path":"/linalg/diag/davidson","categories":{"tier1":"linalg","tier2":"diag","type":"davidson"}}]},"path":"method/categorized_method"},{"data":{"basisSlug":"6-311G"},"path":"method/method_parameters"},{"data":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"path":"method"},{"data":{"type":"localorbital","subtype":"pople"},"path":"methods_directory/legacy/localorbital"},{"data":{"type":"pseudopotential","subtype":"us"},"path":"methods_directory/legacy/pseudopotential"},{"data":{"data":{"dataSet":{"exabyteIds":["LCthJ6E2QabYCZqf4","LCthJ6E2QabYCZqf5","LCthJ6E2QabYCZqf6","LCthJ6E2QabYCZqf7","LCthJ6E2QabYCZqf8","LCthJ6E2QabYCZqf9","LCthJ6E2QabYCZq10","LCthJ6E2QabYCZq11"],"extra":{}},"perProperty":[{"intercept":0.363,"name":"band_gaps:direct","perFeature":[{"coefficient":0.015,"importance":0.134,"name":"atomic_radius:Ge"},{"coefficient":0.016,"importance":0.135,"name":"atomic_radius:Si"}]},{"intercept":0.364,"name":"band_gaps:indirect","perFeature":[{"coefficient":0.016,"importance":0.135,"name":"atomic_radius:Ge"},{"coefficient":0.017,"importance":0.136,"name":"atomic_radius:Si"}]}]},"precision":{"perProperty":[{"score":0.8,"trainingError":0.002}]},"subtype":"least_squares","type":"linear"},"path":"methods_directory/legacy/regression"},{"data":{"type":"unknown","subtype":"unknown"},"path":"methods_directory/legacy/unknown"},{"data":{"name":"Conjugate gradient method","path":"/opt/diff/ordern/cg","categories":{"tier1":"opt","tier2":"diff","tier3":"ordern","type":"cg"}},"path":"methods_directory/mathematical/cg"},{"data":{"data":{"dataSet":{"exabyteIds":["LCthJ6E2QabYCZqf4","LCthJ6E2QabYCZqf5","LCthJ6E2QabYCZqf6","LCthJ6E2QabYCZqf7","LCthJ6E2QabYCZqf8","LCthJ6E2QabYCZqf9","LCthJ6E2QabYCZq10","LCthJ6E2QabYCZq11"],"extra":{}},"perProperty":[{"intercept":0.363,"name":"band_gaps:direct","perFeature":[{"coefficient":0.015,"importance":0.134,"name":"atomic_radius:Ge"},{"coefficient":0.016,"importance":0.135,"name":"atomic_radius:Si"}]},{"intercept":0.364,"name":"band_gaps:indirect","perFeature":[{"coefficient":0.016,"importance":0.135,"name":"atomic_radius:Ge"},{"coefficient":0.017,"importance":0.136,"name":"atomic_radius:Si"}]}]},"precision":{"perProperty":[{"score":0.8,"trainingError":0.002}]},"categories":{"type":"linear","subtype":"least_squares"},"name":"Linear least squares regression","path":"/linear/leastsq"},"path":"methods_directory/mathematical/regression"},{"data":{"name":"cc-pVTZ basis set","path":"/qm/wf/ao/dunning?basisSlug=cc-pvtz","categories":{"tier1":"qm","tier2":"wf","type":"ao","subtype":"dunning"},"parameters":{"basisSlug":"cc-pvtz"}},"path":"methods_directory/physical/ao/dunning"},{"data":{"slug":"pseudopotential","source":{"info":{},"type":"exabyte"},"data":{"element":"Ru","hash":"3349af97451e04faae570056fb6a110b","filename":"ru_pbe_dojo-oncv_0.4.upf","path":"/export/share/pseudo/ru/gga/pbe/dojo-oncv/0.4/nc/ru_pbe_dojo-oncv_0.4.upf","valenceConfiguration":[{"orbitalName":"4S","orbitalIndex":1,"principalNumber":4,"angularMomentum":0,"occupation":2},{"orbitalName":"4P","orbitalIndex":2,"principalNumber":4,"angularMomentum":1,"occupation":6},{"orbitalName":"4D","orbitalIndex":3,"principalNumber":4,"angularMomentum":2,"occupation":7},{"orbitalName":"5S","orbitalIndex":4,"principalNumber":5,"angularMomentum":0,"occupation":1}],"apps":["espresso"],"exchangeCorrelation":{"functional":"pbe","approximation":"gga"},"name":"pseudopotential","source":"dojo-oncv","type":"nc","version":"0.4","cutoffs":{"wavefunction":[{"accuracy_level":"standard","value":42,"unit":"Ry"},{"accuracy_level":"high","value":50,"unit":"Ry"},{"accuracy_level":"low","value":38,"unit":"Ry"}]}}},"path":"methods_directory/physical/psp/file"},{"data":{"name":"PAW Pseudopotential method","path":"/qm/wf/psp/paw","slug":"pseudopotential","categories":{"tier1":"qm","tier2":"wf","type":"psp","subtype":"paw"},"data":[{"slug":"pseudopotential","source":{"info":{},"type":"exabyte"},"data":{"element":"Ru","hash":"3349af97451e04faae570056fb6a110b","filename":"ru_pbe_dojo-oncv_0.4.upf","path":"/export/share/pseudo/ru/gga/pbe/dojo-oncv/0.4/nc/ru_pbe_dojo-oncv_0.4.upf","valenceConfiguration":[{"orbitalName":"4S","orbitalIndex":1,"principalNumber":4,"angularMomentum":0,"occupation":2},{"orbitalName":"4P","orbitalIndex":2,"principalNumber":4,"angularMomentum":1,"occupation":6},{"orbitalName":"4D","orbitalIndex":3,"principalNumber":4,"angularMomentum":2,"occupation":7},{"orbitalName":"5S","orbitalIndex":4,"principalNumber":5,"angularMomentum":0,"occupation":1}],"apps":["espresso"],"exchangeCorrelation":{"functional":"pbe","approximation":"gga"},"name":"pseudopotential","source":"dojo-oncv","type":"nc","version":"0.4","cutoffs":{"wavefunction":[{"accuracy_level":"standard","value":42,"unit":"Ry"},{"accuracy_level":"high","value":50,"unit":"Ry"},{"accuracy_level":"low","value":38,"unit":"Ry"}]}}}]},"path":"methods_directory/physical/psp"},{"data":{"name":"Plane wave basis","path":"/qm/wf/pw","categories":{"tier1":"qm","tier2":"wf","type":"pw"}},"path":"methods_directory/physical/pw"},{"data":{"name":"Methfessel-Paxton smearing","path":"/qm/wf/smearing/methfessel-paxton","categories":{"tier1":"qm","tier2":"wf","type":"smearing","subtype":"methfessel-paxton"}},"path":"methods_directory/physical/smearing"},{"data":{"name":"Optimized Tetrahedron method (Kawamura)","path":"/qm/wf/tetrahedron/optimized","categories":{"tier1":"qm","tier2":"wf","type":"tetrahedron","subtype":"optimized"}},"path":"methods_directory/physical/tetrahedron"},{"data":{"name":"PZ+U (magnetism)","categories":{"tier1":{"name":"physics-based","slug":"pb"},"tier2":{"name":"quantum-mechanical","slug":"qm"},"tier3":{"name":"density functional theory","slug":"dft"},"type":{"name":"Kohn-Sham DFT","slug":"ksdft"},"subtype":{"name":"Local Density Approximation","slug":"lda"}},"parameters":{"functional":"pz","spinPolarization":"collinear","hubbardType":"U"},"method":{"name":"PW-NCPP (Davidson Diagonalization, Gaussian Smearing)","path":"/qm/wf/pw:/qm/wf/psp/nc?functional=pbe:/qm/wf/smearing/gaussian:/linalg/diag/davidson","units":[{"name":"Plane-wave","path":"/qm/wf/pw","categories":{"tier1":"qm","tier2":"wf","type":"pw"}},{"name":"Norm-conserving PSP","path":"/qm/wf/psp/nc?functional=pbe","categories":{"tier1":"qm","tier2":"wf","type":"psp","subtype":"nc"},"parameters":{"functional":"pbe"}},{"name":"Gaussian Smearing method","path":"/qm/wf/smearing/gaussian","categories":{"tier1":"qm","tier2":"wf","type":"smearing","subtype":"gaussian"}},{"name":"Davidson Diagonalization","path":"/linalg/diag/davidson","categories":{"tier1":"linalg","tier2":"diag","type":"davidson"}}]}},"path":"model/categorized_model"},{"data":{"functional":"pbe","dispersionCorrection":"dft-d3","hubbardType":"u","spinPolarization":"collinear","spinOrbitCoupling":true},"path":"model/model_parameters"},{"data":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft"},"path":"model"},{"data":{"tier1":"pb","tier2":"qm","tier3":"abin","type":"gw","subtype":"evgw"},"path":"models_category/pb/qm/abin/gw"},{"data":{"tier1":"pb","tier2":"qm","tier3":"dft","type":"ksdft"},"path":"models_category/pb/qm/dft/ksdft"},{"data":{"tier1":"pb","tier2":"qm","tier3":"semp"},"path":"models_category/pb/qm/semp"},{"data":{"name":"PBE-D3 (SOC)","categories":{"tier1":"pb","tier2":"qm","tier3":"dft","type":"ksdft","subtype":"gga"},"parameters":{"functional":"pbe","spinOrbitCoupling":true,"dispersionCorrection":"DFT-D3"}},"path":"models_directory/gga"},{"data":{"name":"G0W0@PBE (SOC)","categories":{"tier1":"pb","tier2":"qm","tier3":"abin","type":"gw","subtype":"g0w0"},"parameters":{"functional":"pbe","require":"/pb/qm/dft/ksdft/gga","spinOrbitCoupling":true}},"path":"models_directory/gw"},{"data":{"name":"HSE06 (SOC)","categories":{"tier1":"pb","tier2":"qm","tier3":"dft","type":"ksdft","subtype":"hybrid"},"parameters":{"functional":"hse06","spinOrbitCoupling":true,"spinPolarization":"non-collinear"}},"path":"models_directory/hybrid"},{"data":{"name":"PZ+U (magnetism)","categories":{"tier1":"pb","tier2":"qm","tier3":"dft","type":"ksdft","subtype":"lda"},"parameters":{"functional":"pz","spinPolarization":"collinear","hubbardType":"U"}},"path":"models_directory/lda"},{"data":{"type":"dft","subtype":"gga","functional":"pbe","method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"}},"path":"models_directory/legacy/dft"},{"data":{"type":"ml","subtype":"re","method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"}},"path":"models_directory/legacy/ml"},{"data":{"type":"unknown","subtype":"unknown","method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"}},"path":"models_directory/legacy/unknown"},{"data":{"name":"regression","categories":{"tier1":"st","tier2":"det","tier3":"ml","type":"re"},"parameters":{}},"path":"models_directory/re"},{"data":{"_id":"tvFyik5699io8khi8","chargeRate":{"rate":2},"createdAt":"2019-01-03T23:52:26.809Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"description":"Default project","gid":3000000,"isDefault":true,"name":"Default","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"schemaVersion":"0.2.0","slug":"exadmin-default","tags":[],"updatedAt":"2019-01-04T00:12:37.316Z"},"path":"project"},{"data":{"charge":0,"multiplicity":1},"path":"properties_directory/electronic_configuration"},{"data":{"name":"atomic_radius","value":4},"path":"properties_directory/elemental/atomic_radius"},{"data":{"name":"electronegativity","value":1.1},"path":"properties_directory/elemental/electronegativity"},{"data":{"name":"ionization_potential","value":7.7,"units":"eV"},"path":"properties_directory/elemental/ionization_potential"},{"data":{"name":"band_gaps","values":[{"kpointConduction":[0,0,0],"kpointValence":[0,0,0],"type":"direct","units":"Ry","value":0.0947},{"type":"indirect","units":"Ry","value":0}]},"path":"properties_directory/non-scalar/band_gaps"},{"data":{"name":"band_structure","spin":[0.5,0.5,0.5,0.5],"xAxis":{"label":"kpoints","units":"crystal"},"xDataArray":[[0,0,0],[0.5,0.5,0.5]],"yAxis":{"label":"energy","units":"eV"},"yDataSeries":[[12.1,12.5],[11.1,11.5],[10.1,10.5],[9.5,8.5]]},"path":"properties_directory/non-scalar/band_structure"},{"data":{"name":"charge_density_profile","xAxis":{"label":"z coordinate"},"xDataArray":[-4.89,-4.78,-4.67],"yAxis":{"label":"charge density","units":"e/A"},"yDataSeries":[[2.3697,2.1422,2.0006]]},"path":"properties_directory/non-scalar/charge_density_profile"},{"data":{"legend":[{"electronicState":"2s","element":"C","index":1,"spin":0.5},{"electronicState":"2p","element":"C","index":2,"spin":0.5}],"name":"density_of_states","xAxis":{"label":"energy","units":"eV"},"xDataArray":[[0,0,0],[0.5,0.5,0.5]],"yAxis":{"label":"density of states","units":"states/unitcell"},"yDataSeries":[[12.1,12.5],[11.1,11.5],[10.1,10.5],[9.5,8.5]]},"path":"properties_directory/non-scalar/density_of_states"},{"data":{"name":"dielectric_tensor","values":[{"part":"real","spin":0.5,"frequencies":[0,0.06012024,0.120240481,0.180360721],"components":[[0,0,0],[0.019862988,0.019862988,0.019862987],[0.039813564,0.039813565,0.039813563],[0.059940387,0.059940389,0.059940385]]},{"part":"imaginary","spin":0.5,"frequencies":[0,0.06012024,0.120240481,0.180360721],"components":[[0,0,0],[0.019862988,0.019862988,0.019862987],[0.039813564,0.039813565,0.039813563],[0.059940387,0.059940389,0.059940385]]},{"part":"real","spin":-0.5,"frequencies":[0,0.06012024,0.120240481,0.180360721],"components":[[0,0,0],[0.019862988,0.019862988,0.019862987],[0.039813564,0.039813565,0.039813563],[0.059940387,0.059940389,0.059940385]]},{"part":"imaginary","spin":-0.5,"frequencies":[0,0.06012024,0.120240481,0.180360721],"components":[[0,0,0],[0.019862988,0.019862988,0.019862987],[0.039813564,0.039813565,0.039813563],[0.059940387,0.059940389,0.059940385]]}]},"path":"properties_directory/non-scalar/dielectric_tensor"},{"data":{"name":"file_content","basename":"my_json.json","filetype":"text","objectData":{"CONTAINER":"production-20160630-cluster-001","NAME":"/cluster-001-home/jrd101/data/jrd101-default/kernel-train-Cxmkj97aXKZeaRZov/Cxmkj97aXKZeaRZov.json","PROVIDER":"aws","REGION":"us-east-1","SIZE":6582,"TIMESTAMP":"1614217411"}},"path":"properties_directory/non-scalar/file_content"},{"data":{"name":"hubbard_u","units":"eV","values":[{"id":1,"atomicSpecies":"Co1","orbitalName":"3d","value":6.7553},{"id":2,"atomicSpecies":"Co2","orbitalName":"3d","value":6.7553},{"id":3,"atomicSpecies":"O","orbitalName":"3p","value":2.2438}]},"path":"properties_directory/non-scalar/hubbard_u"},{"data":{"name":"hubbard_v","units":"eV","values":[{"id":1,"atomicSpecies":"Co","id2":1,"atomicSpecies2":"Co","distance":0,"value":7.7514},{"id":1,"atomicSpecies":"Co","id2":19,"atomicSpecies2":"O","distance":3.630748,"value":0.7573}]},"path":"properties_directory/non-scalar/hubbard_v"},{"data":{"name":"hubbard_v_nn","units":"eV","values":[{"id":1,"atomicSpecies":"Co","orbitalName":"3d","id2":1,"atomicSpecies2":"Co","orbitalName2":"3d","value":7.7514},{"id":1,"atomicSpecies":"Co","orbitalName":"3d","id2":19,"atomicSpecies2":"O","orbitalName2":"2p","value":0.7573}]},"path":"properties_directory/non-scalar/hubbard_v_nn"},{"data":{"name":"phonon_dispersions","xAxis":{"label":"qpoints","units":"crystal"},"xDataArray":[[0,0,0],[0.5,0.05,0.05]],"yAxis":{"label":"frequency","units":"cm-1"},"yDataSeries":[[-0.000006,-0.000006,-0.000005,734.596987,734.618837,734.618837],[-6.859784,-6.859784,36.443014,730.782803,731.143013,731.143013]]},"path":"properties_directory/non-scalar/phonon_dispersions"},{"data":{"name":"phonon_dos","xAxis":{"label":"frequency","units":"cm-1"},"xDataArray":[[565,566,567,568,569,570,571,572,573]],"yAxis":{"label":"Phonon DOS","units":"states/cm-1"},"yDataSeries":[[0.0001433,0.00011382,0.000087721,0.00006502,0.000045713,0.000029799,0.000017279,0.0000081527,0.0000024197]]},"path":"properties_directory/non-scalar/phonon_dos"},{"data":{"name":"potential_profile","xAxis":{"label":"z coordinate"},"xDataArray":[-4.89,-4.78,-4.67],"yAxis":{"label":"energy","units":"eV"},"yDataSeries":[[-6.5847438,-7.0900648,-7.5601238],[6.4872255,8.2828137,10.1322914],[-0.0975183,1.192749,2.5721676]]},"path":"properties_directory/non-scalar/potential_profile"},{"data":{"name":"reaction_energy_profile","xAxis":{"label":"reaction coordinate"},"xDataArray":[0,0.1932731666,0.3596118308,0.4999998753,0.640387977,0.8067267116,1],"yAxis":{"label":"energy","units":"eV"},"yDataSeries":[[0,0.0336637211,0.1282952413,0.2032895454,0.1282953846,0.0336637671,-5.3e-9]]},"path":"properties_directory/non-scalar/reaction_energy_profile"},{"data":{"name":"stress_tensor","units":"kbar","value":[[3,0,0],[0,3,0],[0,0,3]]},"path":"properties_directory/non-scalar/stress_tensor"},{"data":{"PAWDoubleCounting2":{"name":"PAW_double-counting_correction_2","value":12658.30538857},"PAWDoubleCounting3":{"name":"PAW_double-counting_correction_3","value":-12074.85364512},"alphaZ":{"name":"alphaZ","value":1056.91493097},"atomicEnergy":{"name":"atomic_energy","value":15740.5725788},"eigenvalues":{"name":"eigenvalues","value":-577.80127102},"ewald":{"name":"ewald","value":128376.45871064},"exchange":{"name":"exchange","value":0},"exchangeCorrelation":{"name":"exchange_correlation","value":41.63693035},"hartree":{"name":"hartree","value":-145344.66902862},"name":"total_energy_contributions","temperatureEntropy":{"name":"temperature_entropy","value":-0.00032545},"units":"eV"},"path":"properties_directory/non-scalar/total_energy_contributions"},{"data":{"name":"vibrational_spectrum","xAxis":{"label":"wavenumber","units":"cm-1"},"xDataArray":[[1625.972,3631.832,3735.535]],"yAxis":{"label":"Absorption coefficient","units":"km/mol"},"yDataSeries":[[46.681,1.139,14.281]]},"path":"properties_directory/non-scalar/vibrational_spectrum"},{"data":{"name":"electron_affinity","units":"eV","value":2.5},"path":"properties_directory/scalar/electron_affinity"},{"data":{"name":"fermi_energy","units":"eV","value":-1.2},"path":"properties_directory/scalar/fermi_energy"},{"data":{"name":"formation_energy","units":"eV","value":-123.43573079},"path":"properties_directory/scalar/formation_energy"},{"data":{"name":"ionization_potential","units":"eV","value":14},"path":"properties_directory/scalar/ionization_potential"},{"data":{"name":"pressure","units":"kbar","value":-27.345},"path":"properties_directory/scalar/pressure"},{"data":{"name":"reaction_energy_barrier","units":"eV","value":-123.43573079},"path":"properties_directory/scalar/reaction_energy_barrier"},{"data":{"name":"surface_energy","units":"eV/A^2","value":0.02},"path":"properties_directory/scalar/surface_energy"},{"data":{"name":"total_energy","units":"eV","value":-123.43573079},"path":"properties_directory/scalar/total_energy"},{"data":{"name":"total_force","units":"eV/angstrom","value":0.000001},"path":"properties_directory/scalar/total_force"},{"data":{"name":"valence_band_offset","units":"eV","value":0.245},"path":"properties_directory/scalar/valence_band_offset"},{"data":{"name":"zero_point_energy","units":"eV","value":-123.43573079},"path":"properties_directory/scalar/zero_point_energy"},{"data":{"name":"atomic_forces","units":"eV/bohr","values":[{"id":1,"value":[-3.9e-7,-2.4e-7,0]},{"id":2,"value":[3.9e-7,2.4e-7,0]}]},"path":"properties_directory/structural/atomic_forces"},{"data":{"name":"atomic_constraints","values":[{"id":1,"value":[true,false,true]},{"id":2,"value":[false,false,true]}]},"path":"properties_directory/structural/basis/atomic_constraints_property"},{"data":{"id":1,"value":[0,0,0]},"path":"properties_directory/structural/basis/atomic_coordinate"},{"data":[{"id":1,"value":[0,0,0]},{"id":2,"value":[0.25,0.25,0.25]}],"path":"properties_directory/structural/basis/atomic_coordinates"},{"data":{"id":1,"value":"Si"},"path":"properties_directory/structural/basis/atomic_element"},{"data":[{"id":0,"value":"Si"},{"id":1,"value":"Si"}],"path":"properties_directory/structural/basis/atomic_elements"},{"data":{"id":0,"value":3},"path":"properties_directory/structural/basis/atomic_label"},{"data":[{"id":0,"value":"1"},{"id":1,"value":2}],"path":"properties_directory/structural/basis/atomic_labels"},{"data":[{"atomPair":[{"id":1},{"id":2}],"bondType":"single"},{"atomPair":[{"id":3},{"id":4}],"bondType":"double"}],"path":"properties_directory/structural/basis/bonds"},{"data":{"bonds":[{"0":{"atomPair":[{"id":1},{"id":2}],"bondType":"single"},"1":{"atomPair":[{"id":3},{"id":4}],"bondType":"double"}}],"coordinates":[{"id":1,"value":[0,0,0]}],"elements":[{"id":1,"value":"Si"}],"name":"basis","units":"crystal"},"path":"properties_directory/structural/basis"},{"data":{"name":"density","units":"g/cm^3","value":2.33},"path":"properties_directory/structural/density"},{"data":{"element":"Si","name":"elemental_ratio","value":0.71},"path":"properties_directory/structural/elemental_ratio"},{"data":{"name":"inchi","value":"1S/C6H6/c1-2-4-6-5-3-1/h1-6H"},"path":"properties_directory/structural/inchi"},{"data":{"name":"inchi_key","value":"UHOVQNZJYSORNB-UHFFFAOYSA-N"},"path":"properties_directory/structural/inchi_key"},{"data":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"},"path":"properties_directory/structural/lattice/vectors"},{"data":{"name":"lattice","a":5.14,"alpha":90,"b":5.14,"beta":90,"c":5.14,"gamma":90,"type":"CUB","units":{"angle":"degree","length":"angstrom"},"vectors":{"a":[5,0.000121312,0.000131415],"alat":1,"b":[0.000121312,5,0.000121314],"c":[0.000121313,0.000121312,5],"units":"angstrom"}},"path":"properties_directory/structural/lattice"},{"data":{"name":"magnetic_moments","units":"uB","values":[{"id":1,"value":[0,0,1.235]},{"id":2,"value":[0,0,-1.235]}]},"path":"properties_directory/structural/magnetic_moments"},{"data":[{"SMARTS":"[O&D1]-C(=O)[#6X3]","atoms":[{"id":1,"isConnector":false},{"id":2,"isConnector":false},{"id":3,"isConnector":false},{"id":4,"isConnector":true}],"name":"functional_group"},{"atoms":[{"id":1,"isConnector":true},{"id":2,"isConnector":false},{"id":3,"isConnector":true}],"name":"special_bond"},{"atoms":[{"id":1,"isConnector":false},{"id":2,"isConnector":false},{"id":3,"isConnector":false},{"id":4,"isConnector":false},{"id":5,"isConnector":false},{"id":6,"isConnector":true}],"isAromatic":true,"name":"ring"}],"path":"properties_directory/structural/molecular_pattern"},{"data":{"degree":10,"name":"p-norm","value":0.71},"path":"properties_directory/structural/p-norm"},{"data":{"name":"symmetry","pointGroupSymbol":"C2v","spaceGroupSymbol":"Fd-3m","tolerance":{"units":"angstrom","value":0.3}},"path":"properties_directory/structural/symmetry"},{"data":{"name":"volume","units":"angstrom^3","value":131.1},"path":"properties_directory/structural/volume"},{"data":{"name":"convergence_electronic","data":[[-123.45678,-12.345678,-1.2345678,-0.1234567,-0.0123456,-0.0012345,-0.0001234]],"tolerance":0.001,"units":"Ry"},"path":"properties_directory/workflow/convergence/electronic"},{"data":{"name":"convergence_ionic","data":[{"electronic":{"data":[0.10303193,0.04365779,0.00051472,0.00007496,0.00000309,5.6e-7],"units":"eV"},"energy":-123.45678}],"tolerance":0.001,"units":"eV"},"path":"properties_directory/workflow/convergence/ionic"},{"data":{"data":[{"grid":{"dimensions":[1,1,1],"shifts":[0,0,0]},"value":"-123.45678"}],"property":"total_energy","tolerance":0.001,"units":"eV"},"path":"properties_directory/workflow/convergence/kpoint"},{"data":{"_id":"K3McGkqXh28HJ775m","createdAt":"2018-11-19 06:41:46.877Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"data":{"name":"pressure","units":"kbar","value":-149.03},"group":"qe:dft:gga:pbe","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"repetition":0,"schemaVersion":"0.2.0","slug":"pressure","source":{"type":"exabyte","info":{"jobId":"XnYKCmgaAAzSQH5ac","unitId":"873d0293d04af431d31f07a0-pw-scf"}},"exabyteId":["XnYKCmgaAAzSQH5ac"]},"path":"property/holder"},{"data":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","build":"GNU","hasAdvancedComputeOptions":true},"path":"software/application"},{"data":{"advancedComputeOptions":true,"applicationId":["eaJepm4AWfqpaCw59"],"isDefault":true,"monitors":[{"name":"standard_output"}],"name":"pw.x","postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"path":"software/executable"},{"data":{"executableId":"4987JFJ3kKbwvFSG7","input":[{"templateId":"dJ7HYz5pQ4AuN5qc9"}],"name":"pw_scf","postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"path":"software/flavor"},{"data":{"applicationName":"espresso","applicationVersions":["6.0"],"content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","rendered":"K_POINTS automatic\n10 10 10 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}],"executableName":"pw.x","name":"kpoints_grid"},"path":"software/template"},{"data":{"nband":1,"npools":1,"ntg":1},"path":"software_directory/modeling/espresso/arguments"},{"data":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"7.2","build":"GNU"},"path":"software_directory/modeling/espresso"},{"data":{"name":"NWChem","summary":"NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations","shortName":"nwchem","version":"6.6","exec":"nwchem","build":"GNU"},"path":"software_directory/modeling/nwchem"},{"data":{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"7.2","build":"GNU"},"flowchartId":"modeling","head":true,"input":[{"applicationName":"espresso","applicationVersions":["6.0"],"content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","rendered":"K_POINTS automatic\n10 10 10 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}],"executableName":"pw.x","name":"kpoints_grid"}],"name":"modeling","status":"idle","type":"execution","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]},"path":"software_directory/modeling/unit/execution"},{"data":{"name":"vasp","shortName":"vasp","summary":"vienna ab-initio simulation package","version":"5.3.5","build":"GNU"},"path":"software_directory/modeling/vasp"},{"data":{"exec":"jupyter","flavor":"notebook","name":"jupyterLab","shortName":"jl","summary":"Jupyter Lab","version":"0.33.12","build":"GNU"},"path":"software_directory/scripting/jupyter-lab"},{"data":{"exec":"python","flavor":"python2","name":"python","shortName":"py","summary":"Python Script","version":"2.7.5","build":"GNU"},"path":"software_directory/scripting/python"},{"data":{"exec":"sh","flavor":"sh","name":"shell","shortName":"sh","summary":"Shell Script","version":"4.2.46","build":"GNU"},"path":"software_directory/scripting/shell"},{"data":{"application":{"exec":"python","flavor":"python2","name":"python","shortName":"py","summary":"Python Script","version":"2.7.5","build":"GNU"},"compute":null,"flowchartId":"scripting","head":true,"input":[{"applicationName":"espresso","applicationVersions":["6.0"],"content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","rendered":"K_POINTS automatic\n10 10 10 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}],"executableName":"pw.x","name":"kpoints_grid"}],"name":"scripting","status":"idle","type":"execution","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]},"path":"software_directory/scripting/unit/execution"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Material","slug":"silicon-fcc"},"path":"system/_material"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Job","slug":"parent-job"},"path":"system/_parent_job"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Project","slug":"project-default"},"path":"system/_project"},{"data":{"key":"basis.coordinates.0","name":"atomsTooClose","severity":"warning","message":"Atom 0 is too close to atom X"},"path":"system/consistency_check"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"path":"system/creator"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Class","slug":"Slug"},"path":"system/entity_reference"},{"data":{"extension":"poscar","filename":"POSCAR.mp-546794_SiO2.poscar","text":"Si4 O8\n1.0\n5.073173 0.000000 0.000000\n0.000000 5.073173 0.000000\n0.000000 0.000000 7.359653\nSi O\n4 8\ndirect\n0.000000 0.500000 0.250000 Si\n0.500000 0.500000 0.500000 Si\n0.500000 0.000000 0.750000 Si\n0.000000 0.000000 0.000000 Si\n0.750000 0.584672 0.375000 O\n0.915328 0.250000 0.125000 O\n0.084672 0.750000 0.125000 O\n0.250000 0.415328 0.375000 O\n0.250000 0.084672 0.875000 O\n0.415328 0.750000 0.625000 O\n0.584672 0.250000 0.625000 O\n0.750000 0.915328 0.875000 O","hash":"fce4c03798763a9ed8bf64d762c7fbfd"},"path":"system/file_source"},{"data":{"type":"from-iframe-to-host","action":"set-data","payload":{"property":{"name":"material"}}},"path":"system/iframe_message"},{"data":{"header":{"entity":{"_id":"FPjAaKfuYAL7tiHbm","flowchartId":"pw_scf","name":"unit"},"timestamp":1234923492.12,"version":"0.2.0"},"payload":{"name":"total_energy","units":"eV","value":-123.43573079}},"path":"system/message"},{"data":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"path":"system/owner"},{"data":{"preProcessors":[],"postProcessors":[],"monitors":[{"name":"standard_output"}],"results":[{"name":"atomic_forces"}]},"path":"system/runtime_items"},{"data":{"_id":"LCthJ6E2QabYCZqf4","application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","build":"GNU","hasAdvancedComputeOptions":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","build":"GNU","hasAdvancedComputeOptions":true},"compute":null,"executable":{"advancedComputeOptions":true,"applicationId":["eaJepm4AWfqpaCw59"],"isDefault":true,"monitors":[{"name":"standard_output"}],"name":"pw.x","postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"executableId":"4987JFJ3kKbwvFSG7","input":[{"templateId":"dJ7HYz5pQ4AuN5qc9"}],"name":"pw_scf","postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"content":"K_POINTS automatic\n2 2 2 0 0 0","name":"pw_scf.in"}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution"}]},"path":"workflow/subworkflow"},{"data":{"flowchartId":"assignment","head":true,"input":[{"name":"N_K_x","scope":"global"},{"name":"N_K_y","scope":"global"}],"name":"assignment","operand":"N_K_x","status":"idle","type":"assignment","value":"N_K_x+N_K_y+1","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]},"path":"workflow/unit/assignment"},{"data":{"else":"sample_id_6","flowchartId":"condition","head":true,"input":[{"name":"x","scope":"global"},{"name":"total_energy","scope":"sample_id_2"}],"maxOccurrences":100,"name":"condition","statement":"abs(x-total_energy) < 1e-5","status":"idle","then":"sample_id_4","throwException":true,"type":"condition","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]},"path":"workflow/unit/condition"},{"data":{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","build":"GNU","hasAdvancedComputeOptions":true},"compute":null,"executable":{"advancedComputeOptions":true,"applicationId":["eaJepm4AWfqpaCw59"],"isDefault":true,"monitors":[{"name":"standard_output"}],"name":"pw.x","postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"executableId":"4987JFJ3kKbwvFSG7","input":[{"templateId":"dJ7HYz5pQ4AuN5qc9"}],"name":"pw_scf","postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"content":"K_POINTS automatic\n2 2 2 0 0 0","name":"pw_scf.in"}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution"},"path":"workflow/unit/execution"},{"data":{"name":"N_K_y","scope":"global"},"path":"workflow/unit/input/_inputItemScope"},{"data":{"endpoint":"data-frame","endpoint_options":{"data":{"features":["elemental_ratio:Si","elemental_ratio:Ge","ionization_potential:Ge","ionization_potential:Si"],"ids":["KuAsBRwofzGfHPWiT"],"targets":["band_gaps:indirect","band_gaps:direct"]},"headers":{"X-Auth-Token":"","X-User-Id":""},"method":"POST","params":{"query":{"formula":"SiGe"}}},"name":"DATA"},"path":"workflow/unit/io/api"},{"data":{"features":["elemental_ratio:Si","elemental_ratio:Ge","ionization_potential:Ge","ionization_potential:Si"],"ids":["KuAsBRwofzGfHPWiT"],"targets":["band_gaps:indirect","band_gaps:direct"]},"path":"workflow/unit/io/db"},{"data":{"basename":"index.html","overwrite":true,"objectData":{"CONTAINER":"production-20160630-cluster-001","NAME":"/cluster-001-home/jrd101/data/jrd101-default/kernel-train-Cxmkj97aXKZeaRZov/Cxmkj97aXKZeaRZov.json","PROVIDER":"aws","REGION":"us-east-1","SIZE":6582,"TIMESTAMP":"1614217411"},"filetype":"text/html"},"path":"workflow/unit/io/object_storage"},{"data":{"flowchartId":"io","head":true,"input":[{"endpoint":"data-frame","endpoint_options":{"data":{"features":["elemental_ratio:Si","elemental_ratio:Ge","ionization_potential:Ge","ionization_potential:Si"],"ids":["KuAsBRwofzGfHPWiT"],"targets":["band_gaps:indirect","band_gaps:direct"]},"headers":{"X-Auth-Token":"","X-User-Id":""},"method":"POST","params":{"query":{"formula":"SiGe"}}}}],"name":"io","source":"api","status":"idle","subtype":"input","type":"io","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]},"path":"workflow/unit/io"},{"data":{"flowchartId":"map","head":true,"input":{"target":"MAP_K_POINTS_1","values":["2 2 2 0 0 0","3 3 3 0 0 0","4 4 4 0 0 0"]},"name":"map","status":"idle","type":"map","workflowId":"zxjhEiaQvwWwvB3oM","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]},"path":"workflow/unit/map"},{"data":{"flowchartId":"data_transformation_manipulation","inputData":{"cleanMissingData":true,"removeDuplicateRows":true,"replaceNoneValuesWith":0},"name":"data_transformation_manipulation","operation":"data_transformation","operationType":"manipulation","status":"idle","type":"processing","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]},"path":"workflow/unit/processing"},{"data":{"flowchartId":"reduce","head":true,"input":[{"arguments":["band_gaps"],"operation":"aggregate"}],"mapFlowchartId":"1","name":"reduce","status":"idle","type":"reduce","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]},"path":"workflow/unit/reduce"},{"data":{"_id":"FPjAaKfuYAL7tiHbm","createdAt":"2018-11-19 06:41:46.877Z","creator":{"_id":"HtxACY2wX4b2hS8Rv","cls":"User","slug":"exadmin"},"exabyteId":"qKtTzu9utCo6ac4n7","hash":"f4fd707d2e47c15f8d786cf159040954","isDefault":true,"name":"workflow","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"properties":["band_structure"],"schemaVersion":"0.2.0","slug":"workflow","subworkflows":[{"_id":"LCthJ6E2QabYCZqf4","application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","build":"GNU","hasAdvancedComputeOptions":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","version":"5.1.1","build":"GNU","hasAdvancedComputeOptions":true},"compute":null,"executable":{"advancedComputeOptions":true,"applicationId":["eaJepm4AWfqpaCw59"],"isDefault":true,"monitors":[{"name":"standard_output"}],"name":"pw.x","postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"executableId":"4987JFJ3kKbwvFSG7","input":[{"templateId":"dJ7HYz5pQ4AuN5qc9"}],"name":"pw_scf","postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"content":"K_POINTS automatic\n2 2 2 0 0 0","name":"pw_scf.in"}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution"}]}],"tags":["workflow"],"units":[{"_id":"LCthJ6E2QabYCZqf4","flowchartId":"05c362dc27ff1bb98d16fd60","type":"subworkflow","name":"subworkflow unit","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]}]},"path":"workflow"}]''') \ No newline at end of file diff --git a/src/py/mat3ra/esse/data/schemas.py b/src/py/mat3ra/esse/data/schemas.py index 93bac73d3..951ecf56d 100644 --- a/src/py/mat3ra/esse/data/schemas.py +++ b/src/py/mat3ra/esse/data/schemas.py @@ -1,2 +1,2 @@ import json -SCHEMAS = json.loads(r'''[{"$id":"apse/db/materials-project/2025.9.25/summary","$schema":"http://json-schema.org/draft-07/schema#","title":"Materials Project Schema","description":"JSON schema for Materials Project API summary endpoint response","type":"object","properties":{"builder_meta":{"type":"object","properties":{"emmet_version":{"type":"string","description":"Version of emmet library used"},"pymatgen_version":{"type":"string","description":"Version of pymatgen library used"},"run_id":{"type":"string","description":"Unique identifier for the calculation run"},"batch_id":{"type":["string","null"],"description":"Batch identifier for grouped calculations"},"database_version":{"type":"string","description":"Version of the Materials Project database"},"build_date":{"type":"string","format":"date-time","description":"Date when the calculation was performed"},"license":{"type":"string","description":"License information for the data"}},"required":["emmet_version","pymatgen_version","run_id","database_version","build_date","license"]},"nsites":{"type":"integer","description":"Number of sites in the structure"},"elements":{"type":"array","items":{"type":"string"},"description":"List of chemical elements in the material"},"nelements":{"type":"integer","description":"Number of unique elements"},"composition":{"type":"object","additionalProperties":{"type":"number"},"description":"Chemical composition as element: count mapping"},"composition_reduced":{"type":"object","additionalProperties":{"type":"number"},"description":"Reduced chemical composition"},"formula_pretty":{"type":"string","description":"Human-readable chemical formula"},"formula_anonymous":{"type":"string","description":"Anonymous chemical formula"},"chemsys":{"type":"string","description":"Chemical system identifier"},"volume":{"type":"number","description":"Unit cell volume in cubic Angstroms"},"density":{"type":"number","description":"Material density in g/cm³"},"density_atomic":{"type":"number","description":"Atomic density"},"symmetry":{"type":"object","properties":{"crystal_system":{"type":"string","description":"Crystal system classification"},"symbol":{"type":"string","description":"Space group symbol"},"hall":{"type":["string","null"],"description":"Hall symbol"},"number":{"type":"integer","description":"Space group number"},"point_group":{"type":"string","description":"Point group symbol"},"symprec":{"type":"number","description":"Symmetry precision tolerance"},"angle_tolerance":{"type":"number","description":"Angle tolerance for symmetry analysis"},"version":{"type":"string","description":"Version of symmetry analysis software"}},"required":["crystal_system","symbol","number","point_group","symprec","angle_tolerance","version"]},"material_id":{"type":"string","description":"Unique Materials Project identifier"},"deprecated":{"type":"boolean","description":"Whether this material entry is deprecated"},"deprecation_reasons":{"type":["array","null"],"items":{"type":"string"},"description":"Reasons for deprecation if applicable"},"last_updated":{"type":"string","format":"date-time","description":"Last update timestamp"},"origins":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Origin name (e.g., structure, energy, magnetism)"},"task_id":{"type":"string","description":"Task identifier for this origin"},"last_updated":{"type":"string","format":"date-time","description":"Last update for this origin"}},"required":["name","task_id","last_updated"]}},"warnings":{"type":"array","items":{"type":"string"},"description":"Warning messages"},"structure":{"type":"object","properties":{"@module":{"type":"string","description":"Python module name"},"@class":{"type":"string","description":"Python class name"},"charge":{"type":"number","description":"Total charge of the structure"},"lattice":{"type":"object","properties":{"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3,"description":"Lattice matrix"},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3,"description":"Periodic boundary conditions"},"a":{"type":"number","description":"Lattice parameter a"},"b":{"type":"number","description":"Lattice parameter b"},"c":{"type":"number","description":"Lattice parameter c"},"alpha":{"type":"number","description":"Lattice angle alpha"},"beta":{"type":"number","description":"Lattice angle beta"},"gamma":{"type":"number","description":"Lattice angle gamma"},"volume":{"type":"number","description":"Unit cell volume"}},"required":["matrix","pbc","a","b","c","alpha","beta","gamma","volume"]},"properties":{"type":"object","description":"Additional structure properties"},"sites":{"type":"array","items":{"type":"object","properties":{"species":{"type":"array","items":{"type":"object","properties":{"element":{"type":"string","description":"Chemical element"},"occu":{"type":"number","description":"Occupancy"}},"required":["element","occu"]}},"abc":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3,"description":"Fractional coordinates"},"properties":{"type":"object","properties":{"magmom":{"type":"number","description":"Magnetic moment"}}},"label":{"type":"string","description":"Site label"},"xyz":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3,"description":"Cartesian coordinates"}},"required":["species","abc","label","xyz"]}}},"required":["@module","@class","charge","lattice","properties","sites"]},"property_name":{"type":"string","description":"Name of the property endpoint"},"task_ids":{"type":"array","items":{"type":"string"},"description":"List of task identifiers"},"uncorrected_energy_per_atom":{"type":"number","description":"Uncorrected energy per atom in eV"},"energy_per_atom":{"type":"number","description":"Energy per atom in eV"},"formation_energy_per_atom":{"type":"number","description":"Formation energy per atom in eV"},"energy_above_hull":{"type":"number","description":"Energy above convex hull in eV"},"is_stable":{"type":"boolean","description":"Whether the material is thermodynamically stable"},"equilibrium_reaction_energy_per_atom":{"type":["number","null"],"description":"Equilibrium reaction energy per atom in eV"},"decomposes_to":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"material_id":{"type":"string","description":"Material ID of decomposition product"},"formula":{"type":"string","description":"Formula of decomposition product"},"amount":{"type":"number","description":"Amount of decomposition product"}},"required":["material_id","formula","amount"]}},{"type":"null"}]},"xas":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"edge":{"type":"string","description":"XAS edge type (K, L, M, etc.)"},"absorbing_element":{"type":"string","description":"Element for XAS absorption"},"spectrum_type":{"type":"string","description":"Type of XAS spectrum (XANES, EXAFS, XAFS)"}},"required":["edge","absorbing_element","spectrum_type"]}},{"type":"null"}]},"grain_boundaries":{"type":["object","null"],"description":"Grain boundary information"},"band_gap":{"type":"number","description":"Band gap in eV"},"cbm":{"type":["number","null"],"description":"Conduction band minimum in eV"},"vbm":{"type":["number","null"],"description":"Valence band maximum in eV"},"efermi":{"type":["number","null"],"description":"Fermi energy in eV"},"is_gap_direct":{"type":"boolean","description":"Whether the band gap is direct"},"is_metal":{"type":"boolean","description":"Whether the material is metallic"},"es_source_calc_id":{"type":["string","null"],"description":"Source calculation ID for electronic structure"},"bandstructure":{"oneOf":[{"type":"object","properties":{"setyawan_curtarolo":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]},"hinuma":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]},"latimer_munro":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]}}},{"type":"null"}]},"dos":{"oneOf":[{"type":"object","properties":{"total":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"elemental":{"type":"object","additionalProperties":{"type":"object","properties":{"total":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"s":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"p":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"d":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}}}}},"orbital":{"type":"object","properties":{"s":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"p":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"d":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}}}},"magnetic_ordering":{"type":"string","description":"Magnetic ordering type"}}},{"type":"null"}]},"dos_energy_up":{"type":["object","null"],"description":"Density of states for spin up"},"dos_energy_down":{"type":["object","null"],"description":"Density of states for spin down"},"is_magnetic":{"type":"boolean","description":"Whether the material is magnetic"},"ordering":{"type":"string","description":"Magnetic ordering"},"total_magnetization":{"type":"number","description":"Total magnetization"},"total_magnetization_normalized_vol":{"type":"number","description":"Volume-normalized magnetization"},"total_magnetization_normalized_formula_units":{"type":"number","description":"Formula unit normalized magnetization"},"num_magnetic_sites":{"type":"number","description":"Number of magnetic sites"},"num_unique_magnetic_sites":{"type":"number","description":"Number of unique magnetic sites"},"types_of_magnetic_species":{"type":"array","items":{"type":"string"},"description":"Types of magnetic species"},"bulk_modulus":{"oneOf":[{"type":"object","properties":{"voigt":{"type":"number","description":"Voigt bulk modulus in GPa"},"reuss":{"type":"number","description":"Reuss bulk modulus in GPa"},"vrh":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa"}},"required":["voigt","reuss","vrh"]},{"type":"null"}]},"shear_modulus":{"oneOf":[{"type":"object","properties":{"voigt":{"type":"number","description":"Voigt shear modulus in GPa"},"reuss":{"type":"number","description":"Reuss shear modulus in GPa"},"vrh":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa"}},"required":["voigt","reuss","vrh"]},{"type":"null"}]},"universal_anisotropy":{"oneOf":[{"type":"number"},{"type":"null"}],"description":"Universal anisotropy index"},"homogeneous_poisson":{"oneOf":[{"type":"number"},{"type":"null"}],"description":"Homogeneous Poisson ratio"},"e_total":{"type":["number","null"],"description":"Total energy"},"e_ionic":{"type":["number","null"],"description":"Ionic energy"},"e_electronic":{"type":["number","null"],"description":"Electronic energy"},"n":{"type":["number","null"],"description":"Refractive index"},"e_ij_max":{"type":["number","null"],"description":"Maximum elastic constant"},"weighted_surface_energy_EV_PER_ANG2":{"type":["number","null"],"description":"Weighted surface energy in eV/Ų"},"weighted_surface_energy":{"type":["number","null"],"description":"Weighted surface energy"},"weighted_work_function":{"type":["number","null"],"description":"Weighted work function"},"surface_anisotropy":{"type":["number","null"],"description":"Surface anisotropy"},"shape_factor":{"type":["number","null"],"description":"Shape factor"},"has_reconstructed":{"type":["boolean","null"],"description":"Whether surface has reconstruction"},"possible_species":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Possible ionic species"},"has_props":{"type":"object","properties":{"materials":{"type":"boolean"},"thermo":{"type":"boolean"},"xas":{"type":"boolean"},"grain_boundaries":{"type":"boolean"},"chemenv":{"type":"boolean"},"electronic_structure":{"type":"boolean"},"absorption":{"type":"boolean"},"bandstructure":{"type":"boolean"},"dos":{"type":"boolean"},"magnetism":{"type":"boolean"},"elasticity":{"type":"boolean"},"dielectric":{"type":"boolean"},"piezoelectric":{"type":"boolean"},"surface_properties":{"type":"boolean"},"oxi_states":{"type":"boolean"},"provenance":{"type":"boolean"},"charge_density":{"type":"boolean"},"eos":{"type":"boolean"},"phonon":{"type":"boolean"},"insertion_electrodes":{"type":"boolean"},"substrates":{"type":"boolean"}},"required":["materials","thermo","xas","grain_boundaries","chemenv","electronic_structure","absorption","bandstructure","dos","magnetism","elasticity","dielectric","piezoelectric","surface_properties","oxi_states","provenance","charge_density","eos","phonon","insertion_electrodes","substrates"]},"theoretical":{"type":"boolean","description":"Whether this is a theoretical material"},"database_IDs":{"type":"object","properties":{"icsd":{"type":"array","items":{"type":"string"},"description":"ICSD database identifiers"}}}},"required":["builder_meta","nsites","elements","nelements","composition","composition_reduced","formula_pretty","formula_anonymous","chemsys","volume","density","density_atomic","symmetry","material_id","deprecated","last_updated","origins","warnings","structure","property_name","task_ids","uncorrected_energy_per_atom","energy_per_atom","formation_energy_per_atom","energy_above_hull","is_stable","decomposes_to","xas","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","bandstructure","dos","is_magnetic","ordering","total_magnetization","total_magnetization_normalized_vol","total_magnetization_normalized_formula_units","num_magnetic_sites","num_unique_magnetic_sites","types_of_magnetic_species","bulk_modulus","shear_modulus","universal_anisotropy","homogeneous_poisson","possible_species","has_props","theoretical","database_IDs"],"definitions":{"bandstructure_data":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},"band_extrema":{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"dos_data":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}}},{"$id":"apse/db/materials-project/legacy/material","$schema":"http://json-schema.org/draft-07/schema#","title":"Materials Project Legacy Material schema","description":"JSON schema for Materials Project API legacy material endpoint response","type":"object","properties":{"energy":{"type":"number","description":"Total energy"},"energy_per_atom":{"type":"number","description":"Energy per atom"},"volume":{"type":"number","description":"Unit cell volume"},"formation_energy_per_atom":{"type":"number","description":"Formation energy per atom"},"nsites":{"type":"integer","description":"Number of sites in unit cell"},"unit_cell_formula":{"type":"object","description":"Unit cell formula as element counts","additionalProperties":{"type":"number"}},"pretty_formula":{"type":"string","description":"Pretty formatted chemical formula"},"is_hubbard":{"type":"boolean","description":"Whether Hubbard U correction was applied"},"elements":{"type":"array","description":"List of elements in the material","items":{"type":"string"}},"nelements":{"type":"integer","description":"Number of distinct elements"},"e_above_hull":{"type":["number","null"],"description":"Energy above convex hull"},"hubbards":{"type":"object","description":"Hubbard U values","additionalProperties":true},"is_compatible":{"type":"boolean","description":"Whether material is compatible"},"spacegroup":{"type":"object","description":"Spacegroup information","properties":{"symprec":{"type":"number"},"source":{"type":"string"},"symbol":{"type":"string"},"number":{"type":"integer"},"point_group":{"type":"string"},"crystal_system":{"type":"string"},"hall":{"type":"string"}}},"task_ids":{"type":"array","description":"List of task IDs","items":{"type":"string"}},"band_gap":{"type":"number","description":"Band gap value"},"density":{"type":"number","description":"Material density"},"icsd_id":{"type":["integer","null"],"description":"ICSD ID (single)"},"icsd_ids":{"type":"array","description":"List of ICSD IDs","items":{"type":"integer"}},"cif":{"type":"string","description":"CIF file content"},"total_magnetization":{"type":"number","description":"Total magnetization"},"material_id":{"type":"string","description":"Material ID from Materials Project"},"oxide_type":{"type":"string","description":"Oxide type classification"},"tags":{"type":"array","description":"Material tags/names","items":{"type":"string"}},"elasticity":{"type":["object","null"],"description":"Elasticity data","properties":{"G_Reuss":{"type":"number","description":"Reuss shear modulus in GPa"},"G_VRH":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa"},"G_Voigt":{"type":"number","description":"Voigt shear modulus in GPa"},"G_Voigt_Reuss_Hill":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa (alternative field)"},"K_Reuss":{"type":"number","description":"Reuss bulk modulus in GPa"},"K_VRH":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa"},"K_Voigt":{"type":"number","description":"Voigt bulk modulus in GPa"},"K_Voigt_Reuss_Hill":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa (alternative field)"},"elastic_anisotropy":{"type":"number","description":"Elastic anisotropy"},"elastic_tensor":{"type":"array","description":"6x6 elastic tensor in GPa","items":{"type":"array","items":{"type":"number"}}},"homogeneous_poisson":{"type":"number","description":"Homogeneous Poisson ratio"},"poisson_ratio":{"type":"number","description":"Poisson ratio"},"universal_anisotropy":{"type":"number","description":"Universal elastic anisotropy"},"elastic_tensor_original":{"type":"array","description":"Original 6x6 elastic tensor in GPa","items":{"type":"array","items":{"type":"number"}}},"compliance_tensor":{"type":"array","description":"6x6 compliance tensor in GPa^-1","items":{"type":"array","items":{"type":"number"}}},"warnings":{"type":"array","description":"Warnings about elastic properties","items":{"type":"string"}},"nsites":{"type":"integer","description":"Number of sites in the structure"}}},"piezo":{"type":["object","null"],"description":"Piezoelectric data"},"diel":{"type":["object","null"],"description":"Dielectric data"},"deprecated":{"type":"boolean","description":"Whether material is deprecated"},"full_formula":{"type":"string","description":"Full chemical formula"}},"required":["material_id","energy","energy_per_atom","volume","formation_energy_per_atom","nsites","unit_cell_formula","pretty_formula","is_hubbard","elements","nelements","e_above_hull","hubbards","is_compatible","spacegroup","task_ids","band_gap","density","icsd_ids","cif","total_magnetization","oxide_type","tags","deprecated","full_formula"]},{"$id":"apse/db/nist-jarvis/2024.3.13/atoms","$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS Atoms schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","additionalProperties":false,"type":"object","properties":{"lattice_mat":{"type":"array","description":"Crystal lattice vectors as a 3x3 matrix, in Angstroms","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"coords":{"type":"array","description":"Atomic coordinates for each atom in the unit cell","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":1},"elements":{"type":"array","description":"Atomic elements for each atom in the unit cell in the same order as `coords`","items":{"type":"string"},"minItems":1},"abc":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"angles":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"cartesian":{"type":"boolean","description":"True if the coordinates are in Cartesian space, false if in fractional space"},"props":{"type":"array","items":{"type":"string"},"description":"Additional properties for each of the atoms"}}},{"$id":"apse/db/nist-jarvis/2024.3.13/db-entry","$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS db entry schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","additionalProperties":true,"type":"object","properties":{"atoms":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS Atoms schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","additionalProperties":false,"type":"object","properties":{"lattice_mat":{"type":"array","description":"Crystal lattice vectors as a 3x3 matrix, in Angstroms","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"coords":{"type":"array","description":"Atomic coordinates for each atom in the unit cell","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":1},"elements":{"type":"array","description":"Atomic elements for each atom in the unit cell in the same order as `coords`","items":{"type":"string"},"minItems":1},"abc":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"angles":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"cartesian":{"type":"boolean","description":"True if the coordinates are in Cartesian space, false if in fractional space"},"props":{"type":"array","items":{"type":"string"},"description":"Additional properties for each of the atoms"}}},"jid":{"type":"string","description":"The id of the entry in the database, e.g. JVASP-677"}}},{"$id":"apse/db/third-party-sources","$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]},{"$id":"apse/file/applications/espresso/7.2/pw.x/atomic-positions","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic positions schema","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom","crystal","crystal_sg"],"default":"alat"},"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}},"required":["x","y","z"]}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/atomic-species","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic species schema","type":"object","additionalProperties":false,"properties":{"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/cell","$schema":"http://json-schema.org/draft-07/schema#","title":"cell schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","sd","damp-pr","damp-w","bfgs"],"default":"bfgs","description":"CASE ( calculation == 'vc-relax' )"}}},{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","pr","w"],"description":"CASE ( calculation == 'vc-md' )"}}}],"properties":{"press":{"type":"number","description":"Target pressure [KBar] in a variable-cell md or relaxation run.","default":0},"wmass":{"type":"number","description":"Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD"},"cell_factor":{"type":"number","description":"Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise"},"press_conv_thr":{"type":"number","default":0.5,"description":"Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well)."},"cell_dofree":{"type":"string","enum":["all","ibrav","a","b","c","fixa","fixb","fixc","x","y","xy","xz","xyz","shape","volume","2Dxy","2Dshape","epitaxial_ab","epitaxial_ac","epitaxial_bc"],"default":"all","description":"Select which of the cell parameters should be moved"}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/cell-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"cell parameters schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom"],"description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"values":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/control","$schema":"http://json-schema.org/draft-07/schema#","title":"control schema","type":"object","additionalProperties":false,"properties":{"calculation":{"description":"A string describing the task to be performed","type":"string","enum":["scf","nscf","bands","relax","md","vc-relax","vc-md"],"default":"scf"},"title":{"description":"reprinted on output.","type":"string","default":""},"verbosity":{"description":"Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low'","type":"string","enum":["high","low","debug","medium","minimal","default"],"default":"low"},"restart_mode":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"wf_collect":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"nstep":{"description":"Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick \"dry run\", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform \"nstep\" steps even if restarting from a previously interrupted calculation.","type":"number","default":1},"iprint":{"description":"band energies are written every iprint iterations","type":"number"},"tstress":{"type":"boolean","default":false,"description":"calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax'"},"tprnfor":{"type":"boolean","description":"calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md'"},"dt":{"type":"number","description":"time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!)","default":20},"outdir":{"type":"string","description":"input, temporary, output files are found in this directory, see also wfcdir"},"wfcdir":{"type":"string","description":"This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x."},"prefix":{"type":"string","description":"prepended to input/output filenames: prefix.wfc, prefix.rho, etc.","default":"pwscf"},"lkpoint_dir":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"max_seconds":{"type":"number","default":10000000,"description":"Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues."},"etot_conv_thr":{"type":"number","default":0.0001,"description":"Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied"},"forc_conv_thr":{"type":"number","default":0.001,"description":"Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied"},"disk_io":{"type":"string","enum":["high","medium","low","nowf","none"],"description":"Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option )"},"pseudo_dir":{"type":"string","description":"directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise"},"tefield":{"type":"boolean","default":false,"description":"If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential."},"dipfield":{"type":"boolean","default":false,"description":"If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE."},"lelfield":{"type":"boolean","default":false,"description":"If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. !"},"nberrycyc":{"type":"integer","default":1,"description":"In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density"},"lorbm":{"type":"boolean","default":false,"description":"If .TRUE. perform orbital magnetization calculation."},"lberry":{"type":"boolean","default":false,"description":"If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation"},"gdir":{"type":"number","description":"For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) \"gdir\" is the direction of the field."},"nppstr":{"type":"number","description":"For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.)."},"gate":{"type":"boolean","default":false,"description":"In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called \"monopole\" in v6.0 and 6.1 of pw.x"},"twochem":{"type":"boolean","default":false,"description":"IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold."},"lfcp":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP."},"trism":{"type":"boolean","default":false,"description":"If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. ."}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/electrons","$schema":"http://json-schema.org/draft-07/schema#","title":"electrons schema","type":"object","additionalProperties":false,"properties":{"electron_maxstep":{"type":"integer","default":100,"description":"maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops."},"exx_maxstep":{"type":"integer","default":100,"description":"maximum number of outer iterations in a scf calculation with exact exchange."},"scf_must_converge":{"type":"boolean","default":true,"description":"If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care."},"conv_thr":{"type":"number"},"adaptive_thr":{"type":"boolean","default":false,"description":"If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX."},"conv_thr_init":{"type":"number","description":"When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle."},"conv_thr_multi":{"type":"number","description":"When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx )"},"mixing_mode":{"type":"string","enum":["plain","TF","local-TF"],"default":"plain"},"mixing_beta":{"type":"number","description":"mixing factor for self-consistency"},"mixing_ndim":{"type":"integer","default":8,"description":"number of iterations used in mixing scheme"},"mixing_fixed_ns":{"type":"integer","default":0,"description":"For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term )."},"diagonalization":{"type":"string","enum":["david","cg","ppcg","paro","ParO","rmm-davidson","rmm-paro"],"default":"david"},"diago_thr_init":{"type":"number","description":"Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence)."},"diago_cg_maxiter":{"type":"integer","description":"For conjugate gradient diagonalization: max number of iterations"},"diago_ppcg_maxiter":{"type":"integer","description":"For ppcg diagonalization: max number of iterations"},"diago_david_ndim":{"type":"integer","default":2,"description":"For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_ndim":{"type":"integer","default":4,"description":"For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_conv":{"type":"boolean","default":false,"description":"If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once."},"diago_gs_nblock":{"type":"integer","default":16,"description":"For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization"},"diago_full_acc":{"type":"boolean","default":false,"description":"If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties)."},"efield":{"type":"number","description":"Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic."},"efield_cart":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"efield_phase":{"type":"string","enum":["read","write","none"],"default":"none"},"startingpot":{"type":"string","enum":["atomic","file"]},"startingwfc":{"type":"string","enum":["atomic","atomic+random","random","file"],"default":"atomic+random"},"tqr":{"type":"boolean","default":false,"description":"If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing!"},"real_space":{"type":"boolean","default":false,"description":"If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing!"}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/hubbard","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["atomic","ortho-atomic","norm-atomic","wf","pseudo"]},"values":{"oneOf":[{"description":"IF DFT+U","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1764","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1784","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}}]}},{"description":"IF DFT+U+J","type":"array","items":{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1817","additionalProperties":false,"properties":{"paramType":{"type":"string","enum":["U","J","B","E2","E3"],"description":"character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals)"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"paramValue":{"type":"number","description":"value of the J0 parameter (in eV)"}}}},{"description":"IF DFT+U+V","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1847","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1865","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1884","additionalProperties":false,"properties":{"V":{"type":"string","enum":["V"],"description":"string constant \"V\"; indicates the specs for the V parameter will be given"},"label(I)":{"type":"string","description":"label of the atom I (as defined in ATOMIC_SPECIES)"},"manifold(I)":{"type":"string","description":"specs of the manifold for atom I (e.g., 3d, 2p...)"},"label(J)":{"type":"string","description":"label of the atom J (as defined in ATOMIC_SPECIES)"},"manifold(J)":{"type":"string","description":"specs of the manifold for atom J (e.g., 3d, 2p...)"},"I":{"type":"integer","description":"index of the atom I"},"J":{"type":"integer","description":"index of the atom J"},"v_val(I,J)":{"type":"number","description":"value of the V parameter for the atom pair I,J (in eV)"}}}]}}]}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/ions","$schema":"http://json-schema.org/draft-07/schema#","title":"ions schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp","fire"],"default":"bfgs","description":"CASE: calculation == 'relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["verlet","langevin","langevin-smc"],"default":"verlet","description":"CASE: calculation == 'md'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp"],"default":"bfgs","description":"CASE: calculation == 'vc-relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["beeman"],"default":"beeman","description":"CASE: calculation == 'vc-md'"}}}],"properties":{"ion_positions":{"type":"string","enum":["default","from_input"],"default":"default"},"ion_velocities":{"type":"string","enum":["default","from_input"],"default":"default"},"pot_extrapolation":{"type":"string","enum":["none","atomic","first_order","second_order"],"default":"atomic","description":"Used to extrapolate the potential from preceding ionic steps."},"wfc_extrapolation":{"type":"string","enum":["none","first_order","second_order"],"default":"none","description":"Used to extrapolate the wavefunctions from preceding ionic steps."},"remove_rigid_rot":{"type":"boolean","default":false,"description":"This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells."},"ion_temperature":{"type":"string","enum":["rescaling","rescale-v","rescale-T","reduce-T","berendsen","andersen","svr","initial","not_controlled"],"default":"not_controlled"},"tempw":{"type":"number","description":"Starting temperature (Kelvin) in MD runs target temperature for most thermostats.","default":300},"tolp":{"type":"number","description":"Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp.","default":100},"delta_t":{"type":"number","default":1},"nraise":{"type":"integer","default":1},"refold_pos":{"type":"boolean","default":false,"description":"This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell."},"upscale":{"type":"number","description":"Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale.","default":100},"bfgs_ndim":{"type":"integer","default":1,"description":"Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm."},"trust_radius_max":{"type":"number","description":"Maximum ionic displacement in the structural relaxation. (bfgs only)","default":0.8},"trust_radius_min":{"type":"number","description":"Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only)","default":0.001},"trust_radius_ini":{"type":"number","description":"Initial ionic displacement in the structural relaxation. (bfgs only)","default":0.5},"w_1":{"type":"number","default":0.01},"w_2":{"type":"number","description":"Parameters used in line search based on the Wolfe conditions. (bfgs only)","default":0.5},"fire_alpha_init":{"type":"number","description":"Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3","default":0.2},"fire_falpha":{"type":"number","description":"Scaling of the alpha mixing parameter for steps with P > 0;","default":0.99},"fire_nmin":{"type":"integer","default":5,"description":"Minimum number of steps with P > 0 before increase of dt"},"fire_f_inc":{"type":"number","description":"Factor for increasing dt","default":1.1},"fire_f_dec":{"type":"number","description":"Factor for decreasing dt","default":0.5},"fire_dtmax":{"type":"number","description":"Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt","default":10}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/k-points","$schema":"http://json-schema.org/draft-07/schema#","title":"k points schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["tpiba","automatic","crystal","gamma","tpiba_b","crystal_b","tpiba_c","crystal_c"]},"values":{"oneOf":[{"type":"array","description":"K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c","items":{"type":"object","additionalProperties":false,"properties":{"nks":{"type":"integer","description":"Number of supplied special k-points."},"xk_x":{"type":"number"},"xk_y":{"type":"number"},"xk_z":{"type":"number"},"wk":{"type":"number"}}}},{"type":"object","description":"K_POINTS automatic","additionalProperties":false,"properties":{"nk1":{"type":"integer","description":"Number of supplied special k-points."},"nk2":{"type":"integer","description":"Number of supplied special k-points."},"nk3":{"type":"integer","description":"Number of supplied special k-points."},"sk1":{"type":"integer","description":"Number of supplied special k-points."},"sk2":{"type":"integer","description":"Number of supplied special k-points."},"sk3":{"type":"integer","description":"Number of supplied special k-points."}}},{"type":"null","description":"K_POINTS gamma"}]}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/system","$schema":"http://json-schema.org/draft-07/schema#","title":"system schema","type":"object","additionalProperties":false,"anyOf":[{"properties":{"celldm":{"type":"array","items":{"type":"number"},"minItems":6,"maxItems":6}}},{"properties":{"A":{"type":"number"},"B":{"type":"number"},"C":{"type":"number"},"cosAB":{"type":"number"},"cosAC":{"type":"number"},"cosBC":{"type":"number"}}}],"properties":{"ibrav":{"type":"integer"},"nat":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"ntyp":{"type":"integer","description":"number of types of atoms in the unit cell"},"nbnd":{"type":"integer","description":"Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)"},"nbnd_cond":{"type":"integer","description":"Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case."},"tot_charge":{"type":"number","default":0},"starting_charge":{"type":"number","default":0,"description":"starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'."},"tot_magnetization":{"type":"number","default":-10000,"description":"Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle."},"starting_magnetization":{"type":"array","items":{"type":"number","default":0,"minimum":-1,"maximum":1}},"ecutwfc":{"type":"number","description":"kinetic energy cutoff (Ry) for wavefunctions"},"ecutrho":{"type":"number","description":"Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc"},"ecutfock":{"type":"number","description":"Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials."},"nr1":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr2":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr3":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr1s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr2s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr3s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nosym":{"type":"boolean","default":false},"nosym_evc":{"type":"boolean","default":false},"noinv":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation"},"no_t_rev":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal."},"force_symmorphic":{"type":"boolean","default":false,"description":"if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation"},"use_all_frac":{"type":"boolean","default":false},"occupations":{"type":"string","enum":["smearing","tetrahedra","tetrahedra_lin","tetrahedra_opt","fixed","from_input"]},"one_atom_occupations":{"type":"boolean","default":false},"starting_spin_angle":{"type":"boolean","default":false},"degauss_cond":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.)."},"nelec_cond":{"type":"number","default":0,"description":"Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold."},"degauss":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in metals."},"smearing":{"type":"string","enum":["gaussian","gauss","methfessel-paxton","m-p","mp","marzari-vanderbilt","cold","m-v","mv","fermi-dirac","f-d","fd"],"default":"gaussian"},"nspin":{"type":"integer","default":1},"sic_gamma":{"type":"number","default":0,"description":"Strength of the gammaDFT potential."},"pol_type":{"type":"string","enum":["e","h"],"description":"Type of polaron in gammaDFT."},"sic_energy":{"type":"boolean","default":false,"description":"Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost."},"sci_vb":{"type":"number","default":0,"description":"Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"sci_cb":{"type":"number","default":0,"description":"Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"noncolin":{"type":"boolean","default":false,"description":"if .true. the program will perform a noncollinear calculation."},"ecfixed":{"type":"number","default":0},"qcutz":{"type":"number","default":0},"q2sigma":{"type":"number","default":0.1},"input_dft":{"type":"string","description":"Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!"},"ace":{"type":"boolean","default":true,"description":"Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092"},"exx_fraction":{"type":"number","description":"Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20."},"screening_parameter":{"type":"number","default":0.106,"description":"screening_parameter for HSE like hybrid functionals."},"exxdiv_treatment":{"type":"string","default":"gygi-baldereschi","enum":["gygi-baldereschi","vcut_spherical","vcut_ws","none"]},"x_gamma_extrapolation":{"type":"boolean","default":true,"description":"Specific for EXX. If .true., extrapolate the G=0 term of the potential"},"ecutvcut":{"type":"number","description":"Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors."},"nqx1":{"type":"integer","default":0,"description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx2":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx3":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"localization_thr":{"type":"number","default":0,"description":"Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation"},"Hubbard_occ":{"type":"array","items":{"type":"array","items":[{"type":"integer","minimum":1},{"type":"integer","minimum":1,"maximum":3},{"type":"number"}],"minItems":3,"maxItems":3}},"Hubbard_alpha":{"type":"array","items":{"type":"number","default":0}},"Hubbard_beta":{"type":"array","items":{"type":"number","default":0}},"starting_ns_eigenvalue":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"dmft":{"type":"boolean","default":false,"description":"If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1."},"dmft_prefix":{"type":"string","description":"prepended to hdf5 archive: dmft_prefix.h5"},"ensemble_energies":{"type":"boolean","default":false,"description":"If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation."},"edir":{"type":"integer","description":"The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE."},"emaxpos":{"type":"number","default":0.5,"description":"Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE."},"eopreg":{"type":"number","default":0.1,"description":"Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE."},"eamp":{"type":"number","default":0.001},"angle1":{"type":"array","items":{"type":"number"},"maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types."},"angle2":{"type":"array","items":{"type":"number"},"maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only."},"lforcet":{"type":"boolean","description":"When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1"},"constrained_magnetization":{"type":"string","enum":["none","total","atomic","total direction","atomic direction"],"default":"none","description":"Used to perform constrained calculations in magnetic systems."},"fixed_magnetization":{"type":"array","items":{"type":"number","default":0},"maxItems":3,"minItems":3},"lambda":{"type":"number","default":1,"description":"parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda"},"report":{"type":"integer","default":-1,"description":"determines when atomic magnetic moments are printed on output"},"lspinorb":{"type":"boolean","description":"if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit."},"assume_isolated":{"type":"string","enum":["none","makov-payne","m-p","mp","martyna-tuckerman","m-t","mt","esm","2D"],"default":"none","description":"Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)"},"esm_bc":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"esm_w":{"type":"number","default":0,"description":"If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] )."},"esm_efield":{"type":"number","default":0,"description":"If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes."},"esm_nfit":{"type":"integer","default":4,"description":"If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge."},"lgcscf":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF."},"gcscf_mu":{"type":"number","description":"The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge"},"gcscf_conv_thr":{"type":"number","default":0.01,"description":"Convergence threshold of Fermi energy (eV) for GC-SCF."},"gcscf_beta":{"type":"number","default":0.05,"description":"Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite."},"vdw_corr":{"type":"string","enum":["none","grimme-d2","Grimme-D2","DFT-D","dft-d","grimme-d3","Grimme-D3","DFT-D3","dft-d3","TS","ts","ts-vdw","ts-vdW","tkatchenko-scheffler","MBD","mbd","many-body-dispersion","mbd_vdw","XDM","xdm"],"default":"none","description":"Type of Van der Waals correction"},"london":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='DFT-D'"},"london_s6":{"type":"number","default":0.75,"description":"global scaling parameter for DFT-D. Default is good for PBE."},"london_c6":{"type":"number","description":"atomic C6 coefficient of each atom type"},"london_rvdw":{"type":"number","description":"atomic vdw radii of each atom type"},"london_rcut":{"type":"number","default":200,"description":"cutoff radius (a.u.) for dispersion interactions"},"dftd3_version":{"type":"integer","default":3,"minimum":2,"maximum":6,"description":"Version of Grimme implementation of Grimme-D3"},"dftd3_threebody":{"type":"boolean","default":true,"description":"Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled."},"ts_vdw_econv_thr":{"type":"number","default":0.000001,"description":"Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it"},"ts_vdw_isolated":{"type":"boolean","default":false,"description":"Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system."},"xdm":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='xdm'"},"xdm_a1":{"type":"number","default":0.6836,"description":"Damping function parameter a1 (adimensional)"},"xdm_a2":{"type":"number","default":1.5045,"description":"Damping function parameter a2 (angstrom)"},"space_group":{"type":"integer","default":0,"description":"The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)"},"uniqueb":{"type":"boolean","default":false,"description":"Used only for monoclinic lattices"},"origin_choice":{"type":"integer","default":1,"description":"Used only for space groups that in the ITA allow the use of two different origins"},"rhombohedral":{"type":"boolean","default":true,"description":"Used only for rhombohedral space groups."},"zgate":{"type":"number","default":0.5,"description":"used only if gate = .TRUE."},"relaxz":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block_1":{"type":"number","default":0.45,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_2":{"type":"number","default":0.55,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_height":{"type":"number","default":0.1,"description":"used only if gate = .TRUE. and block = .TRUE."},"nextffield":{"type":"integer","default":0,"description":"Number of activated external ionic force fields."}},"required":["ibrav","nat","ntyp","ecutwfc"]},{"$id":"apse/file/applications/espresso/7.2/pw.x","$schema":"http://json-schema.org/draft-07/schema#","title":"pwx main schema","additionalProperties":false,"type":"object","properties":{"&CONTROL":{"$schema":"http://json-schema.org/draft-07/schema#","title":"control schema","type":"object","additionalProperties":false,"properties":{"calculation":{"description":"A string describing the task to be performed","type":"string","enum":["scf","nscf","bands","relax","md","vc-relax","vc-md"],"default":"scf"},"title":{"description":"reprinted on output.","type":"string","default":""},"verbosity":{"description":"Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low'","type":"string","enum":["high","low","debug","medium","minimal","default"],"default":"low"},"restart_mode":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"wf_collect":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"nstep":{"description":"Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick \"dry run\", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform \"nstep\" steps even if restarting from a previously interrupted calculation.","type":"number","default":1},"iprint":{"description":"band energies are written every iprint iterations","type":"number"},"tstress":{"type":"boolean","default":false,"description":"calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax'"},"tprnfor":{"type":"boolean","description":"calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md'"},"dt":{"type":"number","description":"time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!)","default":20},"outdir":{"type":"string","description":"input, temporary, output files are found in this directory, see also wfcdir"},"wfcdir":{"type":"string","description":"This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x."},"prefix":{"type":"string","description":"prepended to input/output filenames: prefix.wfc, prefix.rho, etc.","default":"pwscf"},"lkpoint_dir":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"max_seconds":{"type":"number","default":10000000,"description":"Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues."},"etot_conv_thr":{"type":"number","default":0.0001,"description":"Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied"},"forc_conv_thr":{"type":"number","default":0.001,"description":"Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied"},"disk_io":{"type":"string","enum":["high","medium","low","nowf","none"],"description":"Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option )"},"pseudo_dir":{"type":"string","description":"directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise"},"tefield":{"type":"boolean","default":false,"description":"If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential."},"dipfield":{"type":"boolean","default":false,"description":"If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE."},"lelfield":{"type":"boolean","default":false,"description":"If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. !"},"nberrycyc":{"type":"integer","default":1,"description":"In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density"},"lorbm":{"type":"boolean","default":false,"description":"If .TRUE. perform orbital magnetization calculation."},"lberry":{"type":"boolean","default":false,"description":"If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation"},"gdir":{"type":"number","description":"For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) \"gdir\" is the direction of the field."},"nppstr":{"type":"number","description":"For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.)."},"gate":{"type":"boolean","default":false,"description":"In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called \"monopole\" in v6.0 and 6.1 of pw.x"},"twochem":{"type":"boolean","default":false,"description":"IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold."},"lfcp":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP."},"trism":{"type":"boolean","default":false,"description":"If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. ."}}},"&SYSTEM":{"$schema":"http://json-schema.org/draft-07/schema#","title":"system schema","type":"object","additionalProperties":false,"anyOf":[{"properties":{"celldm":{"type":"array","items":{"type":"number"},"minItems":6,"maxItems":6}}},{"properties":{"A":{"type":"number"},"B":{"type":"number"},"C":{"type":"number"},"cosAB":{"type":"number"},"cosAC":{"type":"number"},"cosBC":{"type":"number"}}}],"properties":{"ibrav":{"type":"integer"},"nat":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"ntyp":{"type":"integer","description":"number of types of atoms in the unit cell"},"nbnd":{"type":"integer","description":"Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)"},"nbnd_cond":{"type":"integer","description":"Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case."},"tot_charge":{"type":"number","default":0},"starting_charge":{"type":"number","default":0,"description":"starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'."},"tot_magnetization":{"type":"number","default":-10000,"description":"Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle."},"starting_magnetization":{"type":"array","items":{"type":"number","default":0,"minimum":-1,"maximum":1}},"ecutwfc":{"type":"number","description":"kinetic energy cutoff (Ry) for wavefunctions"},"ecutrho":{"type":"number","description":"Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc"},"ecutfock":{"type":"number","description":"Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials."},"nr1":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr2":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr3":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr1s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr2s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr3s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nosym":{"type":"boolean","default":false},"nosym_evc":{"type":"boolean","default":false},"noinv":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation"},"no_t_rev":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal."},"force_symmorphic":{"type":"boolean","default":false,"description":"if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation"},"use_all_frac":{"type":"boolean","default":false},"occupations":{"type":"string","enum":["smearing","tetrahedra","tetrahedra_lin","tetrahedra_opt","fixed","from_input"]},"one_atom_occupations":{"type":"boolean","default":false},"starting_spin_angle":{"type":"boolean","default":false},"degauss_cond":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.)."},"nelec_cond":{"type":"number","default":0,"description":"Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold."},"degauss":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in metals."},"smearing":{"type":"string","enum":["gaussian","gauss","methfessel-paxton","m-p","mp","marzari-vanderbilt","cold","m-v","mv","fermi-dirac","f-d","fd"],"default":"gaussian"},"nspin":{"type":"integer","default":1},"sic_gamma":{"type":"number","default":0,"description":"Strength of the gammaDFT potential."},"pol_type":{"type":"string","enum":["e","h"],"description":"Type of polaron in gammaDFT."},"sic_energy":{"type":"boolean","default":false,"description":"Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost."},"sci_vb":{"type":"number","default":0,"description":"Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"sci_cb":{"type":"number","default":0,"description":"Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"noncolin":{"type":"boolean","default":false,"description":"if .true. the program will perform a noncollinear calculation."},"ecfixed":{"type":"number","default":0},"qcutz":{"type":"number","default":0},"q2sigma":{"type":"number","default":0.1},"input_dft":{"type":"string","description":"Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!"},"ace":{"type":"boolean","default":true,"description":"Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092"},"exx_fraction":{"type":"number","description":"Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20."},"screening_parameter":{"type":"number","default":0.106,"description":"screening_parameter for HSE like hybrid functionals."},"exxdiv_treatment":{"type":"string","default":"gygi-baldereschi","enum":["gygi-baldereschi","vcut_spherical","vcut_ws","none"]},"x_gamma_extrapolation":{"type":"boolean","default":true,"description":"Specific for EXX. If .true., extrapolate the G=0 term of the potential"},"ecutvcut":{"type":"number","description":"Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors."},"nqx1":{"type":"integer","default":0,"description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx2":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx3":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"localization_thr":{"type":"number","default":0,"description":"Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation"},"Hubbard_occ":{"type":"array","items":{"type":"array","items":[{"type":"integer","minimum":1},{"type":"integer","minimum":1,"maximum":3},{"type":"number"}],"minItems":3,"maxItems":3}},"Hubbard_alpha":{"type":"array","items":{"type":"number","default":0}},"Hubbard_beta":{"type":"array","items":{"type":"number","default":0}},"starting_ns_eigenvalue":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"dmft":{"type":"boolean","default":false,"description":"If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1."},"dmft_prefix":{"type":"string","description":"prepended to hdf5 archive: dmft_prefix.h5"},"ensemble_energies":{"type":"boolean","default":false,"description":"If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation."},"edir":{"type":"integer","description":"The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE."},"emaxpos":{"type":"number","default":0.5,"description":"Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE."},"eopreg":{"type":"number","default":0.1,"description":"Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE."},"eamp":{"type":"number","default":0.001},"angle1":{"type":"array","items":{"type":"number"},"maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types."},"angle2":{"type":"array","items":{"type":"number"},"maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only."},"lforcet":{"type":"boolean","description":"When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1"},"constrained_magnetization":{"type":"string","enum":["none","total","atomic","total direction","atomic direction"],"default":"none","description":"Used to perform constrained calculations in magnetic systems."},"fixed_magnetization":{"type":"array","items":{"type":"number","default":0},"maxItems":3,"minItems":3},"lambda":{"type":"number","default":1,"description":"parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda"},"report":{"type":"integer","default":-1,"description":"determines when atomic magnetic moments are printed on output"},"lspinorb":{"type":"boolean","description":"if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit."},"assume_isolated":{"type":"string","enum":["none","makov-payne","m-p","mp","martyna-tuckerman","m-t","mt","esm","2D"],"default":"none","description":"Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)"},"esm_bc":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"esm_w":{"type":"number","default":0,"description":"If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] )."},"esm_efield":{"type":"number","default":0,"description":"If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes."},"esm_nfit":{"type":"integer","default":4,"description":"If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge."},"lgcscf":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF."},"gcscf_mu":{"type":"number","description":"The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge"},"gcscf_conv_thr":{"type":"number","default":0.01,"description":"Convergence threshold of Fermi energy (eV) for GC-SCF."},"gcscf_beta":{"type":"number","default":0.05,"description":"Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite."},"vdw_corr":{"type":"string","enum":["none","grimme-d2","Grimme-D2","DFT-D","dft-d","grimme-d3","Grimme-D3","DFT-D3","dft-d3","TS","ts","ts-vdw","ts-vdW","tkatchenko-scheffler","MBD","mbd","many-body-dispersion","mbd_vdw","XDM","xdm"],"default":"none","description":"Type of Van der Waals correction"},"london":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='DFT-D'"},"london_s6":{"type":"number","default":0.75,"description":"global scaling parameter for DFT-D. Default is good for PBE."},"london_c6":{"type":"number","description":"atomic C6 coefficient of each atom type"},"london_rvdw":{"type":"number","description":"atomic vdw radii of each atom type"},"london_rcut":{"type":"number","default":200,"description":"cutoff radius (a.u.) for dispersion interactions"},"dftd3_version":{"type":"integer","default":3,"minimum":2,"maximum":6,"description":"Version of Grimme implementation of Grimme-D3"},"dftd3_threebody":{"type":"boolean","default":true,"description":"Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled."},"ts_vdw_econv_thr":{"type":"number","default":0.000001,"description":"Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it"},"ts_vdw_isolated":{"type":"boolean","default":false,"description":"Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system."},"xdm":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='xdm'"},"xdm_a1":{"type":"number","default":0.6836,"description":"Damping function parameter a1 (adimensional)"},"xdm_a2":{"type":"number","default":1.5045,"description":"Damping function parameter a2 (angstrom)"},"space_group":{"type":"integer","default":0,"description":"The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)"},"uniqueb":{"type":"boolean","default":false,"description":"Used only for monoclinic lattices"},"origin_choice":{"type":"integer","default":1,"description":"Used only for space groups that in the ITA allow the use of two different origins"},"rhombohedral":{"type":"boolean","default":true,"description":"Used only for rhombohedral space groups."},"zgate":{"type":"number","default":0.5,"description":"used only if gate = .TRUE."},"relaxz":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block_1":{"type":"number","default":0.45,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_2":{"type":"number","default":0.55,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_height":{"type":"number","default":0.1,"description":"used only if gate = .TRUE. and block = .TRUE."},"nextffield":{"type":"integer","default":0,"description":"Number of activated external ionic force fields."}},"required":["ibrav","nat","ntyp","ecutwfc"]},"&ELECTRONS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"electrons schema","type":"object","additionalProperties":false,"properties":{"electron_maxstep":{"type":"integer","default":100,"description":"maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops."},"exx_maxstep":{"type":"integer","default":100,"description":"maximum number of outer iterations in a scf calculation with exact exchange."},"scf_must_converge":{"type":"boolean","default":true,"description":"If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care."},"conv_thr":{"type":"number"},"adaptive_thr":{"type":"boolean","default":false,"description":"If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX."},"conv_thr_init":{"type":"number","description":"When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle."},"conv_thr_multi":{"type":"number","description":"When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx )"},"mixing_mode":{"type":"string","enum":["plain","TF","local-TF"],"default":"plain"},"mixing_beta":{"type":"number","description":"mixing factor for self-consistency"},"mixing_ndim":{"type":"integer","default":8,"description":"number of iterations used in mixing scheme"},"mixing_fixed_ns":{"type":"integer","default":0,"description":"For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term )."},"diagonalization":{"type":"string","enum":["david","cg","ppcg","paro","ParO","rmm-davidson","rmm-paro"],"default":"david"},"diago_thr_init":{"type":"number","description":"Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence)."},"diago_cg_maxiter":{"type":"integer","description":"For conjugate gradient diagonalization: max number of iterations"},"diago_ppcg_maxiter":{"type":"integer","description":"For ppcg diagonalization: max number of iterations"},"diago_david_ndim":{"type":"integer","default":2,"description":"For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_ndim":{"type":"integer","default":4,"description":"For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_conv":{"type":"boolean","default":false,"description":"If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once."},"diago_gs_nblock":{"type":"integer","default":16,"description":"For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization"},"diago_full_acc":{"type":"boolean","default":false,"description":"If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties)."},"efield":{"type":"number","description":"Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic."},"efield_cart":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"efield_phase":{"type":"string","enum":["read","write","none"],"default":"none"},"startingpot":{"type":"string","enum":["atomic","file"]},"startingwfc":{"type":"string","enum":["atomic","atomic+random","random","file"],"default":"atomic+random"},"tqr":{"type":"boolean","default":false,"description":"If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing!"},"real_space":{"type":"boolean","default":false,"description":"If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing!"}}},"&IONS":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"ions schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp","fire"],"default":"bfgs","description":"CASE: calculation == 'relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["verlet","langevin","langevin-smc"],"default":"verlet","description":"CASE: calculation == 'md'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp"],"default":"bfgs","description":"CASE: calculation == 'vc-relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["beeman"],"default":"beeman","description":"CASE: calculation == 'vc-md'"}}}],"properties":{"ion_positions":{"type":"string","enum":["default","from_input"],"default":"default"},"ion_velocities":{"type":"string","enum":["default","from_input"],"default":"default"},"pot_extrapolation":{"type":"string","enum":["none","atomic","first_order","second_order"],"default":"atomic","description":"Used to extrapolate the potential from preceding ionic steps."},"wfc_extrapolation":{"type":"string","enum":["none","first_order","second_order"],"default":"none","description":"Used to extrapolate the wavefunctions from preceding ionic steps."},"remove_rigid_rot":{"type":"boolean","default":false,"description":"This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells."},"ion_temperature":{"type":"string","enum":["rescaling","rescale-v","rescale-T","reduce-T","berendsen","andersen","svr","initial","not_controlled"],"default":"not_controlled"},"tempw":{"type":"number","description":"Starting temperature (Kelvin) in MD runs target temperature for most thermostats.","default":300},"tolp":{"type":"number","description":"Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp.","default":100},"delta_t":{"type":"number","default":1},"nraise":{"type":"integer","default":1},"refold_pos":{"type":"boolean","default":false,"description":"This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell."},"upscale":{"type":"number","description":"Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale.","default":100},"bfgs_ndim":{"type":"integer","default":1,"description":"Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm."},"trust_radius_max":{"type":"number","description":"Maximum ionic displacement in the structural relaxation. (bfgs only)","default":0.8},"trust_radius_min":{"type":"number","description":"Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only)","default":0.001},"trust_radius_ini":{"type":"number","description":"Initial ionic displacement in the structural relaxation. (bfgs only)","default":0.5},"w_1":{"type":"number","default":0.01},"w_2":{"type":"number","description":"Parameters used in line search based on the Wolfe conditions. (bfgs only)","default":0.5},"fire_alpha_init":{"type":"number","description":"Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3","default":0.2},"fire_falpha":{"type":"number","description":"Scaling of the alpha mixing parameter for steps with P > 0;","default":0.99},"fire_nmin":{"type":"integer","default":5,"description":"Minimum number of steps with P > 0 before increase of dt"},"fire_f_inc":{"type":"number","description":"Factor for increasing dt","default":1.1},"fire_f_dec":{"type":"number","description":"Factor for decreasing dt","default":0.5},"fire_dtmax":{"type":"number","description":"Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt","default":10}}},{"type":"null"}]},"&CELL":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"cell schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","sd","damp-pr","damp-w","bfgs"],"default":"bfgs","description":"CASE ( calculation == 'vc-relax' )"}}},{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","pr","w"],"description":"CASE ( calculation == 'vc-md' )"}}}],"properties":{"press":{"type":"number","description":"Target pressure [KBar] in a variable-cell md or relaxation run.","default":0},"wmass":{"type":"number","description":"Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD"},"cell_factor":{"type":"number","description":"Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise"},"press_conv_thr":{"type":"number","default":0.5,"description":"Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well)."},"cell_dofree":{"type":"string","enum":["all","ibrav","a","b","c","fixa","fixb","fixc","x","y","xy","xz","xyz","shape","volume","2Dxy","2Dshape","epitaxial_ab","epitaxial_ac","epitaxial_bc"],"default":"all","description":"Select which of the cell parameters should be moved"}}},{"type":"null"}]},"ATOMIC_SPECIES":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic species schema","type":"object","additionalProperties":false,"properties":{"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}}}},"ATOMIC_POSITIONS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic positions schema","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom","crystal","crystal_sg"],"default":"alat"},"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}},"required":["x","y","z"]}}}},"K_POINTS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"k points schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["tpiba","automatic","crystal","gamma","tpiba_b","crystal_b","tpiba_c","crystal_c"]},"values":{"oneOf":[{"type":"array","description":"K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c","items":{"type":"object","additionalProperties":false,"properties":{"nks":{"type":"integer","description":"Number of supplied special k-points."},"xk_x":{"type":"number"},"xk_y":{"type":"number"},"xk_z":{"type":"number"},"wk":{"type":"number"}}}},{"type":"object","description":"K_POINTS automatic","additionalProperties":false,"properties":{"nk1":{"type":"integer","description":"Number of supplied special k-points."},"nk2":{"type":"integer","description":"Number of supplied special k-points."},"nk3":{"type":"integer","description":"Number of supplied special k-points."},"sk1":{"type":"integer","description":"Number of supplied special k-points."},"sk2":{"type":"integer","description":"Number of supplied special k-points."},"sk3":{"type":"integer","description":"Number of supplied special k-points."}}},{"type":"null","description":"K_POINTS gamma"}]}}},"CELL_PARAMETERS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"cell parameters schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom"],"description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"values":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}},"HUBBARD":{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["atomic","ortho-atomic","norm-atomic","wf","pseudo"]},"values":{"oneOf":[{"description":"IF DFT+U","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1764","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1784","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}}]}},{"description":"IF DFT+U+J","type":"array","items":{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1817","additionalProperties":false,"properties":{"paramType":{"type":"string","enum":["U","J","B","E2","E3"],"description":"character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals)"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"paramValue":{"type":"number","description":"value of the J0 parameter (in eV)"}}}},{"description":"IF DFT+U+V","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1847","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1865","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1884","additionalProperties":false,"properties":{"V":{"type":"string","enum":["V"],"description":"string constant \"V\"; indicates the specs for the V parameter will be given"},"label(I)":{"type":"string","description":"label of the atom I (as defined in ATOMIC_SPECIES)"},"manifold(I)":{"type":"string","description":"specs of the manifold for atom I (e.g., 3d, 2p...)"},"label(J)":{"type":"string","description":"label of the atom J (as defined in ATOMIC_SPECIES)"},"manifold(J)":{"type":"string","description":"specs of the manifold for atom J (e.g., 3d, 2p...)"},"I":{"type":"integer","description":"index of the atom I"},"J":{"type":"integer","description":"index of the atom J"},"v_val(I,J)":{"type":"number","description":"value of the V parameter for the atom pair I,J (in eV)"}}}]}}]}}}}},{"$id":"apse/materials/builders/slab/pymatgen/parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"Pymatgen Slab Generator Parameters Schema","description":"Parameters for the Pymatgen slab generator. https://github.com/materialsproject/pymatgen/blob/585bb673c4aa222669c4b0d72ffeec3dbf092630/pymatgen/core/surface.py#L1187","type":"object","properties":{"min_vacuum_size":{"description":"Minimum size of the vacuum in layers or angstroms","type":["integer","number"],"minimum":0,"default":0},"in_unit_planes":{"description":"Whether to use unit planes for the vacuum and slab size","type":"boolean","default":true},"reorient_lattice":{"description":"Whether to reorient the lattice to have c vector along the z-axis","type":"boolean","default":true},"symmetrize":{"description":"Whether to symmetrize the slab","type":"boolean","default":true}}},{"$id":"context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"context provider schema","type":"object","properties":{"name":{"type":"string","enum":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"],"tsEnumNames":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"]},"domain":{"description":"domain of the context provider","type":"string"},"entityName":{"description":"entity name associated with the context provider","type":"string"},"data":{"description":"data object for the context provider","type":"object"},"extraData":{"description":"additional data object for the context provider","type":"object"},"isEdited":{"description":"flag indicating if the context provider has been edited","type":"boolean"},"context":{"description":"context object for the context provider","type":"object"}},"additionalProperties":true,"required":["name"]},{"$id":"context-providers-directory/boundary-conditions-data-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Provider Schema","type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"},"electricField":{"type":"number","title":"Electric Field (eV/A)"},"targetFermiEnergy":{"type":"number","title":"Target Fermi Energy (eV)"}}},{"$id":"context-providers-directory/by-application/nwchem-total-energy-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"NWChem Total Energy Context Provider Schema","description":"Schema for NWChemTotalEnergyContextProvider that generates context data for NWChem total energy input.","type":"object","properties":{"CHARGE":{"type":"integer","description":"Total charge of the system."},"MULT":{"type":"integer","description":"Spin multiplicity of the system."},"BASIS":{"type":"string","description":"Basis set label used in the calculation (e.g., '6-31G')."},"NAT":{"type":"integer","description":"Number of atoms in the system."},"NTYP":{"type":"integer","description":"Number of unique atomic species in the system."},"ATOMIC_POSITIONS":{"type":"string","description":"Formatted text block with atomic positions including constraints."},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block with atomic positions without constraints."},"ATOMIC_SPECIES":{"type":"string","description":"Formatted text block for atomic species, including element symbols and masses."},"FUNCTIONAL":{"type":"string","description":"Exchange-correlation functional identifier (e.g., 'B3LYP')."},"CARTESIAN":{"type":"boolean","description":"Whether atomic positions are expressed in cartesian coordinates."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN"]},{"$id":"context-providers-directory/by-application/qe-neb-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE NEB Context Provider Schema","description":"Schema for QENEBContextProvider that generates context data for Quantum ESPRESSO pw.x NEB input. Extends the pw.x context with image-specific atomic positions.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Base Context Provider Schema","description":"Base schema with shared Quantum ESPRESSO pw.x context provider properties.","type":"object","properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}},"required":["x","y","z"]}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}},{"type":"object","properties":{"FIRST_IMAGE":{"type":"string","description":"Atomic positions block (ATOMIC_POSITIONS) for the first NEB image."},"LAST_IMAGE":{"type":"string","description":"Atomic positions block (ATOMIC_POSITIONS) for the last NEB image."},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"type":"string"}}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES"]}]},{"$id":"context-providers-directory/by-application/qe-pwx-base-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Base Context Provider Schema","description":"Base schema with shared Quantum ESPRESSO pw.x context provider properties.","type":"object","properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}},"required":["x","y","z"]}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}},{"$id":"context-providers-directory/by-application/qe-pwx-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Context Provider Schema","description":"Schema for QEPWXContextProvider that generates context data for Quantum ESPRESSO pw.x input files. Contains computed context properties and string-formatted versions of pw.x input sections.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Base Context Provider Schema","description":"Base schema with shared Quantum ESPRESSO pw.x context provider properties.","type":"object","properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}},"required":["x","y","z"]}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}},{"type":"object","required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS"]}]},{"$id":"context-providers-directory/by-application/vasp-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"VASP Context Provider Schema","description":"Schema for VASPContextProvider that generates context data for VASP POSCAR input files.","type":"object","properties":{"POSCAR":{"type":"string","description":"POSCAR content for VASP including lattice, atom types, positions and constraints."},"POSCAR_WITH_CONSTRAINTS":{"type":"string","description":"POSCAR content for VASP including lattice, atom types, positions and constraints. May differ in how constraints are represented."}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS"]},{"$id":"context-providers-directory/by-application/vasp-neb-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"VASP NEB Context Provider Schema","description":"Schema for VASPNEBContextProvider that generates context data for VASP NEB (nudged elastic band) runs.","type":"object","properties":{"FIRST_IMAGE":{"type":"string","description":"POSCAR content with constraints for the first NEB image."},"LAST_IMAGE":{"type":"string","description":"POSCAR content with constraints for the last NEB image."},"INTERMEDIATE_IMAGES":{"type":"array","description":"POSCAR contents with constraints for all intermediate NEB images.","items":{"type":"string"}}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES"]},{"$id":"context-providers-directory/collinear-magnetization-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Provider Schema","description":"Set starting magnetization, can have values in the range [-1, +1].","type":"object","properties":{"startingMagnetization":{"type":"array","items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"value":{"type":"number","title":"Starting magnetization","minimum":-1,"maximum":1}}}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}}},{"$id":"context-providers-directory/enum","definitions":{"ContextProviderNameEnum":{"type":"string","enum":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"],"tsEnumNames":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"]}}},{"$id":"context-providers-directory/hubbard-j-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Provider Schema","description":"Hubbard parameters for DFT+U+J calculation.","type":"array","minItems":1,"items":{"type":"object","properties":{"paramType":{"type":"string","title":"Species","enum":["U","J","B","E2","E3"]},"atomicSpecies":{"type":"string","title":"Species"},"atomicOrbital":{"type":"string","title":"Orbital"},"value":{"type":"number","title":"Value (eV)"}}}},{"$id":"context-providers-directory/hubbard-legacy-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Provider Schema","description":"Hubbard parameters for DFT+U calculation.","type":"array","uniqueItems":true,"minItems":1,"items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"atomicSpeciesIndex":{"type":"integer","title":"Species index"},"hubbardUValue":{"type":"number","title":"Hubbard U (eV)"}}}},{"$id":"context-providers-directory/hubbard-u-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Provider Schema","description":"Hubbard U parameters for DFT+U or DFT+U+V calculation.","type":"array","items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"atomicOrbital":{"type":"string","title":"Atomic orbital"},"hubbardUValue":{"type":"number","title":"Hubbard U (eV)"}}}},{"$id":"context-providers-directory/hubbard-v-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Provider Schema","description":"Hubbard V parameters for DFT+U+V calculation.","type":"array","minItems":1,"items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Species 1"},"siteIndex":{"type":"integer","title":"Site no 1"},"atomicOrbital":{"type":"string","title":"Orbital 1"},"atomicSpecies2":{"type":"string","title":"Species 2"},"siteIndex2":{"type":"integer","title":"Site no 2"},"atomicOrbital2":{"type":"string","title":"Orbital 2"},"hubbardVValue":{"type":"number","title":"V (eV)"}}}},{"$id":"context-providers-directory/ion-dynamics-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Provider Schema","description":"Important parameters for molecular dynamics calculation","type":"object","properties":{"numberOfSteps":{"type":"integer","title":"numberOfSteps"},"timeStep":{"type":"number","title":"timeStep (Hartree a.u.)"},"electronMass":{"type":"number","title":"Effective electron mass"},"temperature":{"type":"number","title":"Ionic temperature (K)"}}},{"$id":"context-providers-directory/ml-settings-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Provider Schema","description":"Settings important to machine learning runs.","type":"object","properties":{"target_column_name":{"type":"string"},"problem_category":{"type":"string","enum":["regression","classification","clustering"]}}},{"$id":"context-providers-directory/ml-train-test-split-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Provider Schema","description":"Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.","type":"object","properties":{"fraction_held_as_test_set":{"type":"number","minimum":0,"maximum":1}}},{"$id":"context-providers-directory/neb-data-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}},{"$id":"context-providers-directory/non-collinear-magnetization-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Provider Schema","description":"Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.","type":"object","properties":{"isExistingChargeDensity":{"type":"boolean","title":"Use existing charge density"},"isStartingMagnetization":{"type":"boolean","title":"Set starting magnetization"},"startingMagnetization":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","title":"Index"},"atomicSpecies":{"type":"string","title":"Atomic species"},"value":{"type":"number","title":"Starting magnetization"}}}},"isArbitrarySpinAngle":{"type":"boolean","title":"Set arbitrary spin angle"},"spinAngles":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","title":"Index"},"atomicSpecies":{"type":"string","title":"Atomic species"},"angle1":{"type":"number","title":"Angle1 (deg)"},"angle2":{"type":"number","title":"Angle2 (deg)"}}}},"isConstrainedMagnetization":{"type":"boolean","title":"Set constrained magnetization"},"constrainedMagnetization":{"type":"object","properties":{"constrainType":{"type":"string","title":"Constrain type","enum":["none","total","atomic","total direction","atomic direction"]},"lambda":{"type":"number","title":"lambda"}}},"isFixedMagnetization":{"type":"boolean","title":"Set Fixed magnetization (only applicable to constrained magnetization of 'total' type)"},"fixedMagnetization":{"type":"object","properties":{"x":{"type":"number","title":"X-component"},"y":{"type":"number","title":"Y-component"},"z":{"type":"number","title":"Z-component"}}}}},{"$id":"context-providers-directory/planewave-cutoffs-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Provider Schema","description":"Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.","type":"object","properties":{"wavefunction":{"type":"number"},"density":{"type":"number"}}},{"$id":"context-providers-directory/points-grid-data-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"shifts":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"reciprocalVectorRatios":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"gridMetricType":{"type":"string","enum":["KPPRA","spacing"]},"gridMetricValue":{"type":"number"},"preferGridMetric":{"type":"boolean"}}},{"$id":"context-providers-directory/points-path-data-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Provider Schema","description":"Path in reciprocal space for band structure calculations.","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"integer"}}}},{"$id":"core/abstract/2d-data","$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]},{"$id":"core/abstract/2d-plot","$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]},{"$id":"core/abstract/3d-grid","$schema":"http://json-schema.org/draft-07/schema#","title":"3 dimensional grid schema","type":"object","properties":{"dimensions":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"shifts":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}},"required":["dimensions","shifts"]},{"$id":"core/abstract/coordinate-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},{"$id":"core/abstract/coordinate-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},{"$id":"core/abstract/matrix-3x3","$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},{"$id":"core/abstract/vector-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]},{"$id":"core/abstract/vector-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},{"$id":"core/abstract/vector-boolean-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]},{"$id":"core/primitive/1d-data-series","$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}},{"$id":"core/primitive/array-of-2-numbers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},{"$id":"core/primitive/array-of-3-booleans","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3},{"$id":"core/primitive/array-of-3-integers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3},{"$id":"core/primitive/array-of-3-numbers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"$id":"core/primitive/array-of-ids","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}},{"$id":"core/primitive/array-of-strings","$schema":"http://json-schema.org/draft-07/schema#","title":"array of strings","description":"array of strings, e.g. metadata tags","type":"array","items":{"type":"string","uniqueItems":true}},{"$id":"core/primitive/axis","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},{"$id":"core/primitive/axis-3d-names-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},{"$id":"core/primitive/group-info","$schema":"http://json-schema.org/draft-07/schema#","title":"Group info schema for nodes in a graph","type":"object","properties":{"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}},{"$id":"core/primitive/integer-one-or-zero","$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},{"$id":"core/primitive/integer-positive-single-digit","$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9},{"$id":"core/primitive/linked-list/base-node","$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$id":"core/primitive/linked-list/named-node","$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}}]},{"$id":"core/primitive/linked-list/named-node-in-group","$schema":"http://json-schema.org/draft-07/schema#","title":"Named node in group schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Group info schema for nodes in a graph","type":"object","properties":{"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}}]},{"$id":"core/primitive/linked-list/node-with-type","$schema":"http://json-schema.org/draft-07/schema#","title":"Typed node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}}],"properties":{"type":{"type":"string"}}},{"$id":"core/primitive/linked-list","$schema":"http://json-schema.org/draft-07/schema#","title":"linked list schema","type":"array","items":{"type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node in group schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Group info schema for nodes in a graph","type":"object","properties":{"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Typed node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}}],"properties":{"type":{"type":"string"}}}],"uniqueItems":true}},{"$id":"core/primitive/object-with-id","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]},{"$id":"core/primitive/object-with-id-and-value","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]},{"$id":"core/primitive/scalar","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]},{"$id":"core/primitive/slugified-entry","$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"$id":"core/primitive/slugified-entry-or-slug","$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},{"$id":"core/primitive/string","$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]},{"$id":"core/reference/exabyte","$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}},"required":["jobId","unitId"]},{"$id":"core/reference/experiment/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}},"required":["name"]},{"$id":"core/reference/experiment/location","$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}},"required":["latitude","longitude"]},{"$id":"core/reference/experiment","$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}},"required":["name"]}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}},"required":["latitude","longitude"]},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}}},"required":["conditions","authors","title","method","timestamp"]},{"$id":"core/reference/literature/name","$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]},{"$id":"core/reference/literature/pages","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]},{"$id":"core/reference/literature","$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}},{"$id":"core/reference/modeling/exabyte","$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}},"required":["title","_id","owner"]},{"$id":"core/reference/modeling","$schema":"http://json-schema.org/draft-07/schema#","title":"info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}},"required":["title","_id","owner"]}]},{"$id":"core/reference","$schema":"http://json-schema.org/draft-07/schema#","title":"reference schema (using `anyOf` instead of `oneOf` below b/c current reference schemas overlap)","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}},"required":["title","_id","owner"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}},"required":["name"]}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}},"required":["latitude","longitude"]},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}}},"required":["conditions","authors","title","method","timestamp"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}]},{"$id":"core/reusable/atomic-data/per-orbital","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital","description":"Atomic properties per orbital e.g., Hubbard U parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"}}},{"$id":"core/reusable/atomic-data/per-orbital-pair","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$id":"core/reusable/atomic-data/value-number","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}},{"$id":"core/reusable/atomic-data/value-string","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data string properties","description":"String value specific to atomic data","type":"object","properties":{"value":{"type":"string","description":"String value specific to atomic data"}}},{"$id":"core/reusable/atomic-data-per-orbital-numeric","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital","description":"Atomic properties per orbital e.g., Hubbard U parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]},{"$id":"core/reusable/atomic-data-per-orbital-pair-numeric","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]},{"$id":"core/reusable/atomic-orbital","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}},{"$id":"core/reusable/atomic-scalars","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic scalars vectors schema","type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}}}},{"$id":"core/reusable/atomic-string","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}},{"$id":"core/reusable/atomic-vector","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}},{"$id":"core/reusable/atomic-vectors","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},{"$id":"core/reusable/band-gap","$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["type"]},{"$id":"core/reusable/categories","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"core/reusable/category-path","$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},{"$id":"core/reusable/coordinate-conditions/base","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]},{"$id":"core/reusable/coordinate-conditions/box","$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$id":"core/reusable/coordinate-conditions/cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$id":"core/reusable/coordinate-conditions/enum","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},{"$id":"core/reusable/coordinate-conditions/index","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]}]},{"$id":"core/reusable/coordinate-conditions/plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]},{"$id":"core/reusable/coordinate-conditions/sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$id":"core/reusable/coordinate-conditions/triangular-prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$id":"core/reusable/dielectric-tensor-component","$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"","description":"Schema for a function of frequency yielding a nx3 matrix","type":"object","properties":{"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}],"properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"}},"required":["part","frequencies","components"]},{"$id":"core/reusable/energy","$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]},{"$id":"core/reusable/energy-accuracy-levels","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]},{"$id":"core/reusable/file-metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}},{"$id":"core/reusable/frequency-function-matrix","$schema":"http://json-schema.org/draft-07/schema#","title":"","description":"Schema for a function of frequency yielding a nx3 matrix","type":"object","properties":{"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}},{"$id":"core/reusable/kpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},{"$id":"core/reusable/object-storage-container-data","$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},{"$id":"core/reusable/scalar-with-accuracy-levels","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]},{"$id":"definitions/chemical-elements","title":"Chemical Element Symbols","periodic_table":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},"extra":{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]},"all":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}},{"$id":"definitions/constants","title":"fundamental constants","description":"Fundamental physical constants, 2022 NIST CODATA (https://doi.org/10.48550/arXiv.2409.03787)","type":"object","properties":{"c":{"description":"speed of light in vacuum, \"units\": \"m/s\"","type":"number","default":299792458},"h":{"description":"Planck constant, \"units\": \"J s\"","type":"number","default":6.62607015e-34},"e":{"description":"elementary charge, \"units\": \"C\"","type":"number","default":1.602176634e-19},"G":{"description":"Newtonian constant of gravitation, \"units\": \"m^3/kg/s^2\"","type":"number","default":6.6743015e-11},"me":{"description":"electron mass \"units\": \"kg\"","type":"number","default":9.109383713928e-31},"eps0":{"description":"vacuum permittivity, \"units\": \"F/m\"","type":"number","default":8.854187818814e-12},"mu0":{"description":"vacuum permeability, \"units\": \"N/A^2\"","type":"number","default":0.000001256637061272}},"required":["c","h","e","G","me","eps0","mu0"]},{"$id":"definitions/material","title":"Materials Definitions","form_factor":{"description":"Form factor of the material","enum":["bulk","slab","monolayer","nanoribbon"]},"dimensionality":{"description":"Dimensionality of the material","enum":["zero-dimensional","one-dimensional","two-dimensional","three-dimensional"]}},{"$id":"definitions/units","title":"all units definitions","angle":{"enum":["degree","radian"],"default":"degree"},"coordinates_basis":{"enum":["crystal","cartesian"],"default":"crystal"},"coordinates_lattice_reciprocal":{"enum":["crystal","cartesian"],"default":"crystal"},"length":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"length_atomic":{"enum":["angstrom","bohr"],"default":"angstrom"},"energy":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"energy_atomic":{"enum":["eV","hartree","rydberg"],"default":"eV"},"surface_energy":{"enum":["eV/A^2"]},"force":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]},"volume":{"enum":["cm^3","angstrom^3"]},"numberDensity":{"enum":["1/angstrom^3"]},"density":{"enum":["g/cm^3"]},"frequency":{"enum":["cm-1","THz","meV"]},"pressure":{"enum":["kbar","pa"]},"phononDOS":{"enum":["states/cm-1","states/THz","states/meV"]},"electronicDOS":{"enum":["states/unitcell"]},"magnetic":{"enum":["uB"]},"chargeDensity":{"enum":["e/A"]},"spectralIntensity":{"enum":["(debye/angstrom)^2","km/mol","m/mol","a.u."]}},{"$id":"element","$schema":"http://json-schema.org/draft-07/schema#","title":"element schema","type":"object","properties":{"symbol":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},"properties":{"type":"array","description":"list of elemental properties","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic radius","description":"atomic radius","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["atomic_radius"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"electronegativity","description":"electronegativity for the element (Pauling scale)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["electronegativity"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential elemental property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["ionization_potential"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name","units"]}]}}}},{"$id":"in-memory-entity/base","$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$id":"in-memory-entity/defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"Defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$id":"in-memory-entity/has-consistency-check-has-metadata-named-defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"has consistency check has metadata named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Has consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}}}}]},{"$id":"in-memory-entity/named","$schema":"http://json-schema.org/draft-07/schema#","title":"Named in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}}]},{"$id":"in-memory-entity/named-defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$id":"in-memory-entity/named-defaultable-has-metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]},{"$id":"in-memory-entity/named-defaultable-runtime-items","$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$id":"job/base","$schema":"http://json-schema.org/draft-07/schema#","title":"job base schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"rmsId":{"description":"Identity used to track jobs originated from command-line","type":"string"},"status":{"description":"job status","enum":["pre-submission","queued","submitted","active","finished","terminate-queued","terminated","error","deleted","timeout"]},"startTime":{"description":"Approximate start time of the job. e.g. within 10 min","type":"string"},"workDir":{"description":"The path to the working directory of this job, when the job originates from command-line","type":"string"},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]},"_project":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"_material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"parent":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"runtimeContext":{"description":"Context variables that the job will have access to at runtime","type":"object"},"scopeTrack":{"description":"history of the workflow scope on each update","type":"array","items":{"type":"object","properties":{"repetition":{"type":"number"},"scope":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}},"required":["global","local"]}}}}},"required":["status","compute","_project"]},{"$id":"job/compute","$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]},{"$id":"job","$schema":"http://json-schema.org/draft-07/schema#","title":"job schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"job base schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"rmsId":{"description":"Identity used to track jobs originated from command-line","type":"string"},"status":{"description":"job status","enum":["pre-submission","queued","submitted","active","finished","terminate-queued","terminated","error","deleted","timeout"]},"startTime":{"description":"Approximate start time of the job. e.g. within 10 min","type":"string"},"workDir":{"description":"The path to the working directory of this job, when the job originates from command-line","type":"string"},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]},"_project":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"_material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"parent":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"runtimeContext":{"description":"Context variables that the job will have access to at runtime","type":"object"},"scopeTrack":{"description":"history of the workflow scope on each update","type":"array","items":{"type":"object","properties":{"repetition":{"type":"number"},"scope":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}},"required":["global","local"]}}}}},"required":["status","compute","_project"]}],"properties":{"workflow":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}}}}],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]}],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","application"]}]}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["subworkflow"]}}}],"discriminator":{"propertyName":"type"},"required":["type"]}}},"required":["units","subworkflows"]}},"required":["workflow"]},{"$id":"material/consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}},{"$id":"material/conventional","$schema":"http://json-schema.org/draft-07/schema#","title":"material conventional schema","type":"object","properties":{"conventional":{"type":"object"}}},{"$id":"material","$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]},{"$id":"materials-category/compound-pristine-structures/two-dimensional/interface/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Interface Configuration Schema","description":"A two-dimensional interface between two slabs, optionally including vacuum, with a specified stacking direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":3,"items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}],"description":"Components of the interface: slab, slab and vacuum"},"direction":{"default":"z"},"xy_shift":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]}],"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane."}}},{"$id":"materials-category/defective-structures/one-dimensional/grain-boundary-linear/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Grain Boundary Linear Configuration Schema","description":"Configuration for creating a linear grain boundary.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Interface Configuration Schema","description":"A two-dimensional interface between two slabs, optionally including vacuum, with a specified stacking direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":3,"items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}],"description":"Components of the interface: slab, slab and vacuum"},"direction":{"default":"z"},"xy_shift":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]}],"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane."}}}],"properties":{"stack_components":{"maxItems":2},"direction":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]}],"default":"x"},"actual_angle":{"type":"number","description":"The actual angle between the two phases","minimum":0,"maximum":360}},"required":["stack_components","direction"]},{"$id":"materials-category/defective-structures/two-dimensional/adatom/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Adatom Defect Configuration Schema","description":"An adatom point defect configuration where an atom is added to a surface site on a slab.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Stack Configuration Schema","description":"Base configuration for a slab stack with another component and vacuum in the z-direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"type":"object"},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"stack_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"type":"object","properties":{"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}},"required":["element"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]}}},{"$id":"materials-category/defective-structures/two-dimensional/grain-boundary-planar/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Grain Boundary Planar Configuration Schema","description":"Configuration for creating a grain boundary between two phases.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Interface Configuration Schema","description":"A two-dimensional interface between two slabs, optionally including vacuum, with a specified stacking direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":3,"items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}],"description":"Components of the interface: slab, slab and vacuum"},"direction":{"default":"z"},"xy_shift":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]}],"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane."}}}],"properties":{"direction":{"default":"z"}}},{"$id":"materials-category/defective-structures/two-dimensional/island/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Island Defect Configuration Schema","description":"An island defect configuration where a void region is created in a slab, leaving an island of material.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Stack Configuration Schema","description":"Base configuration for a slab stack with another component and vacuum in the z-direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"type":"object"},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"stack_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]}]}},"required":["crystal","coordinate_condition"]}]},"merge_method":{"default":"REPLACE"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]}}},{"$id":"materials-category/defective-structures/two-dimensional/terrace/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Terrace Defect Configuration Schema","description":"An terrace defect configuration where a void region is created in a slab that is stacked with another slab, creating a terrace.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Stack Configuration Schema","description":"Base configuration for a slab stack with another component and vacuum in the z-direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"type":"object"},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"stack_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]}]}},"required":["crystal","coordinate_condition"]}]},"merge_method":{"default":"REPLACE"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"cut_direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["stack_components","cut_direction"]},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/base-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Base Configuration Schema","description":"Base configuration for a point defect in a host crystal using merge operation.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}]},"merge_method":{"default":"REPLACE"}},"required":["merge_components","merge_method"]},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/interstitial","$schema":"http://json-schema.org/draft-07/schema#","title":"Interstitial Point Defect Schema","description":"An interstitial point defect configuration where an atom is added to an interstitial site.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Base Configuration Schema","description":"Base configuration for a point defect in a host crystal using merge operation.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}]},"merge_method":{"default":"REPLACE"}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"type":"object","properties":{"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}},"required":["element"]}]}]}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/substitutional","$schema":"http://json-schema.org/draft-07/schema#","title":"Substitutional Point Defect Schema","description":"A substitutional point defect configuration where an atom at a crystal site is replaced with a different element.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Base Configuration Schema","description":"Base configuration for a point defect in a host crystal using merge operation.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}]},"merge_method":{"default":"REPLACE"}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"type":"object","properties":{"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}},"required":["element"]}]}]}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/vacancy","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Point Defect Schema","description":"A vacancy point defect configuration where an atom is removed from a crystal site.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Base Configuration Schema","description":"Base configuration for a point defect in a host crystal using merge operation.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}]},"merge_method":{"default":"REPLACE"}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}}},{"$id":"materials-category/pristine-structures/three-dimensional/ideal-crystal","$schema":"http://json-schema.org/draft-07/schema#","title":"Ideal Crystal Schema","description":"An ideal, perfect crystal structure","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}]},{"$id":"materials-category/pristine-structures/two-dimensional/nanoribbon","$schema":"http://json-schema.org/draft-07/schema#","title":"Nanoribbon Configuration Schema","description":"A nanoribbon unit cell consisting of nanotape and vacuum stacked in X direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"NanoTape Configuration Schema","description":"A nanotape unit cell consisting of crystal lattice lines and vacuum stacked in Y direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Schema","description":"A set of crystal lattice lines defined by 2D Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"required":["miller_indices_2d"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"}},"required":["termination_top"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"y"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"x"}}},{"$id":"materials-category/pristine-structures/two-dimensional/nanotape","$schema":"http://json-schema.org/draft-07/schema#","title":"NanoTape Configuration Schema","description":"A nanotape unit cell consisting of crystal lattice lines and vacuum stacked in Y direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Schema","description":"A set of crystal lattice lines defined by 2D Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"required":["miller_indices_2d"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"}},"required":["termination_top"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"y"}}},{"$id":"materials-category/pristine-structures/two-dimensional/slab","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$id":"materials-category/pristine-structures/two-dimensional/slab-strained-supercell","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]},{"$id":"materials-category/processed-structures/two-dimensional/passivation/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Passivation Configuration Schema","description":"Configuration for a passivation that adds passivating atoms to a material surface.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"type":"object","properties":{"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}},"required":["element"]}]}]}},"merge_method":{"default":"ADD"},"passivant":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},"bond_length":{"type":"number","default":1,"description":"The bond length for the passivating atoms"}},"required":["merge_components","merge_method","passivant","bond_length"]},{"$id":"materials-category-components/entities/auxiliary/one-dimensional/miller-indices-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},{"$id":"materials-category-components/entities/auxiliary/three-dimensional/supercell-matrix-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 3D Schema","description":"3x3 matrix of integers for transforming a unit cell into a supercell","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3,"default":[[1,0,0],[0,1,0],[0,0,1]]},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/miller-indices","$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/supercell-matrix-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/termination","$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/crystal-site","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/point-defect-site","$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"type":"object","properties":{"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}},"required":["element"]}]},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/void-region","$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]}]}},"required":["crystal","coordinate_condition"]},{"$id":"materials-category-components/entities/core/three-dimensional/crystal","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},{"$id":"materials-category-components/entities/core/three-dimensional/void","$schema":"http://json-schema.org/draft-07/schema#","title":"Void Schema","description":"A void that can be placed into a crystal, removing all atoms inside","type":"object","properties":{"center_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]}]}},"required":["center_coordinate","shape"]},{"$id":"materials-category-components/entities/core/two-dimensional/vacuum","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]},{"$id":"materials-category-components/entities/core/zero-dimensional/atom","$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$id":"materials-category-components/entities/core/zero-dimensional/vacancy","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]},{"$id":"materials-category-components/entities/reusable/one-dimensional/crystal-lattice-lines","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Schema","description":"A set of crystal lattice lines defined by 2D Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"required":["miller_indices_2d"]},{"$id":"materials-category-components/entities/reusable/one-dimensional/crystal-lattice-lines-unique-repeated","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Schema","description":"A set of crystal lattice lines defined by 2D Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"required":["miller_indices_2d"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"}},"required":["termination_top"]},{"$id":"materials-category-components/entities/reusable/three-dimensional/crystal-lattice-base","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]},{"$id":"materials-category-components/entities/reusable/three-dimensional/repetitions","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Repetitions Schema","description":"Number of unit cells to repeat in each direction for a crystal structure.","type":"array","items":{"type":"integer","minimum":1},"minItems":3,"maxItems":3,"default":[1,1,1]},{"$id":"materials-category-components/entities/reusable/three-dimensional/strained-non-uniform","$schema":"http://json-schema.org/draft-07/schema#","title":"Non-Uniformly Strained Crystal Configuration Schema","description":"A crystal structure with non-uniform strain applied using a strain matrix","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["crystal","strain_matrix"]},{"$id":"materials-category-components/entities/reusable/three-dimensional/strained-uniform","$schema":"http://json-schema.org/draft-07/schema#","title":"Uniformly Strained Crystal Configuration Schema","description":"A crystal structure with uniform strain applied","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"strain_percentage":{"type":"number","description":"Percentage of uniform strain to apply to the crystal structure"}},"required":["crystal","strain_percentage"]},{"$id":"materials-category-components/entities/reusable/three-dimensional/supercell","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Configuration Schema","description":"A repeated crystal structure defined by a transformation matrix","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["crystal","matrix"]},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Schema","description":"A set of atomic layers defined by a plane in a crystal structure with specific terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Schema","description":"A set of unique atomic layers defined by a plane in a crystal structure, including all possible terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"terminations":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"minItems":1,"description":"All possible terminations for this orientation."}},"required":["terminations"]}]},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers-unique","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Schema","description":"A set of unique atomic layers defined by a plane in a crystal structure, including all possible terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"terminations":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"minItems":1,"description":"All possible terminations for this orientation."}},"required":["terminations"]},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers-unique-repeated","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$id":"materials-category-components/entities/reusable/two-dimensional/crystal-lattice-planes","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]},{"$id":"materials-category-components/entities/reusable/two-dimensional/slab-stack-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Stack Configuration Schema","description":"Base configuration for a slab stack with another component and vacuum in the z-direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"type":"object"},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$id":"materials-category-components/operations/core/combinations/enums","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]},{"$id":"materials-category-components/operations/core/combinations/merge","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]},{"$id":"materials-category-components/operations/core/combinations/stack","$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]},{"$id":"materials-category-components/operations/core/modifications/perturb","$schema":"http://json-schema.org/draft-07/schema#","title":"Perturbation Schema","description":"A perturbation operation that modifies a configuration by applying a perturbation to atoms coordinates.","type":"object","properties":{"material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}}},"required":["basis","lattice"]},"perturbation_function":{"type":"string","description":"A function that defines the perturbation (delta in coordinates) to be applied to the atomic coordinates."}}},{"$id":"materials-category-components/operations/core/modifications/repeat","$schema":"http://json-schema.org/draft-07/schema#","title":"Repeat Schema","properties":{"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 3D Schema","description":"3x3 matrix of integers for transforming a unit cell into a supercell","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3,"default":[[1,0,0],[0,1,0],[0,0,1]]}}},{"$id":"materials-category-components/operations/core/modifications/strain","$schema":"http://json-schema.org/draft-07/schema#","title":"Strain Schema","properties":{"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}}},{"$id":"method/categorized-method","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"units":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}}},"required":["units"]},{"$id":"method/method-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"MethodParameters","allOf":[{"oneOf":[{"type":"object","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}},{"type":"object","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}},{"type":"object","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}}]}]},{"$id":"method/unit-method","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}},{"$id":"method","$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]},{"$id":"methods-category/mathematical/diff/enum-options","finiteDifference":{"enum":["fd"]}},{"$id":"methods-category/mathematical/diff/fd","$schema":"http://json-schema.org/draft-07/schema#","title":"Finite difference method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Numerical differentiation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["diff"]}}}],"properties":{"tier2":{"enum":["fd"]}}},{"$id":"methods-category/mathematical/diff","$schema":"http://json-schema.org/draft-07/schema#","title":"Numerical differentiation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["diff"]}}},{"$id":"methods-category/mathematical/discr/enum-options","meshing":{"enum":["mesh"]}},{"$id":"methods-category/mathematical/discr/mesh/enum-options","hybridMesh":{"enum":["hybrid"]},"unstructuredMesh":{"enum":["nstruct"]},"structuredMesh":{"enum":["struct"]}},{"$id":"methods-category/mathematical/discr/mesh/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid meshing category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}}],"properties":{"tier2":{"enum":["mesh"]}}}],"properties":{"tier3":{"enum":["hybrid"]}}},{"$id":"methods-category/mathematical/discr/mesh/nstruct","$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category nstruct schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}}],"properties":{"tier2":{"enum":["mesh"]}}}],"properties":{"tier3":{"enum":["nstruct"]}}},{"$id":"methods-category/mathematical/discr/mesh/struct/cartesian","$schema":"http://json-schema.org/draft-07/schema#","title":"Cartesian grid schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Structured meshing category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}}],"properties":{"tier2":{"enum":["mesh"]}}}],"properties":{"tier3":{"enum":["struct"]}}}],"properties":{"type":{"enum":["cartesian"]}}},{"$id":"methods-category/mathematical/discr/mesh/struct/enum-options","cartesian":{"enum":["cartesian"]}},{"$id":"methods-category/mathematical/discr/mesh/struct","$schema":"http://json-schema.org/draft-07/schema#","title":"Structured meshing category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}}],"properties":{"tier2":{"enum":["mesh"]}}}],"properties":{"tier3":{"enum":["struct"]}}},{"$id":"methods-category/mathematical/discr/mesh","$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}}],"properties":{"tier2":{"enum":["mesh"]}}},{"$id":"methods-category/mathematical/discr","$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}},{"$id":"methods-category/mathematical/enum-options","differentiation":{"enum":["diff"]},"discretization":{"enum":["discr"]},"functionApproximation":{"enum":["fapprx"]},"integration":{"enum":["intgr"]},"linearAlgebra":{"enum":["linalg"]},"optimization":{"enum":["opt"]},"regressionTypes":{"enum":["linear","kernel_ridge"]},"regressionSubtypes":{"enum":["least_squares","ridge"]}},{"$id":"methods-category/mathematical/fapprx/basisexp","$schema":"http://json-schema.org/draft-07/schema#","title":"Basis expansion category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}}],"properties":{"tier2":{"enum":["basisExp"]}}},{"$id":"methods-category/mathematical/fapprx/enum-options","basisExpansion":{"enum":["basisExp"]},"interpolation":{"enum":["ipol"]}},{"$id":"methods-category/mathematical/fapprx/ipol/enum-options","linear":{"enum":["lin"]},"polynomial":{"enum":["poly"]},"spline":{"enum":["spline"]}},{"$id":"methods-category/mathematical/fapprx/ipol/lin","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}}],"properties":{"tier2":{"enum":["ipol"]}}}],"properties":{"tier3":{"enum":["lin"]}}},{"$id":"methods-category/mathematical/fapprx/ipol/poly","$schema":"http://json-schema.org/draft-07/schema#","title":"Polynomial interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}}],"properties":{"tier2":{"enum":["ipol"]}}}],"properties":{"tier3":{"enum":["poly"]}}},{"$id":"methods-category/mathematical/fapprx/ipol/spline","$schema":"http://json-schema.org/draft-07/schema#","title":"Spline interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}}],"properties":{"tier2":{"enum":["ipol"]}}}],"properties":{"tier3":{"enum":["spline"]}}},{"$id":"methods-category/mathematical/fapprx/ipol","$schema":"http://json-schema.org/draft-07/schema#","title":"Interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}}],"properties":{"tier2":{"enum":["ipol"]}}},{"$id":"methods-category/mathematical/fapprx","$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}},{"$id":"methods-category/mathematical/intgr/analytic/enum-options","volume":{"enum":["volume"]},"volumeSubtypes":{"enum":["sphere","cube","rect-prism","tri-prism","cylinder","cone","tetrahedron","sq-pyr"]}},{"$id":"methods-category/mathematical/intgr/analytic/volume","$schema":"http://json-schema.org/draft-07/schema#","title":"Analytic volume integral category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Analytic integral category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["analytic"]}}}],"properties":{"type":{"enum":["volume"]},"subtype":{"enum":["sphere","cube","rect-prism","tri-prism","cylinder","cone","tetrahedron","sq-pyr"]}}},{"$id":"methods-category/mathematical/intgr/analytic","$schema":"http://json-schema.org/draft-07/schema#","title":"Analytic integral category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["analytic"]}}},{"$id":"methods-category/mathematical/intgr/diffeq/enum-options","firstOrder":{"enum":["order1"]},"secondOrder":{"enum":["order2"]}},{"$id":"methods-category/mathematical/intgr/diffeq/order1","$schema":"http://json-schema.org/draft-07/schema#","description":"Categories for the numerical integration of differential equations","type":"object","title":"Order1 schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical integration of differential equations schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["diffeq"]}}}],"properties":{"tier3":{"enum":["order1"]}}},{"$id":"methods-category/mathematical/intgr/diffeq/order2","$schema":"http://json-schema.org/draft-07/schema#","description":"Categories for the numerical integration of differential equations","type":"object","title":"Order2 schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical integration of differential equations schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["diffeq"]}}}],"properties":{"tier3":{"enum":["order2"]}}},{"$id":"methods-category/mathematical/intgr/diffeq","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical integration of differential equations schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["diffeq"]}}},{"$id":"methods-category/mathematical/intgr/enum-options","analytic":{"enum":["analytic"]},"differentialEquation":{"enum":["diffeq"]},"numericalQuadrature":{"enum":["numquad"]},"transformation":{"enum":["transf"]}},{"$id":"methods-category/mathematical/intgr/numquad/enum-options","gaussQuadrature":{"enum":["gauss"]},"newtonCotes":{"enum":["newcot"]}},{"$id":"methods-category/mathematical/intgr/numquad/gauss","$schema":"http://json-schema.org/draft-07/schema#","title":"Gaussian quadrature rules schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical quadrature schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["numquad"]}}}],"properties":{"tier3":{"enum":["gauss"]}}},{"$id":"methods-category/mathematical/intgr/numquad/newcot","$schema":"http://json-schema.org/draft-07/schema#","title":"Newton-Cotes quadrature rules schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical quadrature schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["numquad"]}}}],"properties":{"tier3":{"enum":["newcot"]}}},{"$id":"methods-category/mathematical/intgr/numquad","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical quadrature schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["numquad"]}}},{"$id":"methods-category/mathematical/intgr/transf/enum-options","fourierTransformation":{"enum":["fourier"]}},{"$id":"methods-category/mathematical/intgr/transf/fourier","$schema":"http://json-schema.org/draft-07/schema#","description":"Fourier transform methods","title":"Fourier transform methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","description":"Integral transform methods","title":"Integral transform methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["transf"]}}}],"properties":{"type":{"enum":["fourier"]}}},{"$id":"methods-category/mathematical/intgr/transf","$schema":"http://json-schema.org/draft-07/schema#","description":"Integral transform methods","title":"Integral transform methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["transf"]}}},{"$id":"methods-category/mathematical/intgr","$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}},{"$id":"methods-category/mathematical/linalg/dcomp","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix decomposition methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["dcomp"]}}},{"$id":"methods-category/mathematical/linalg/diag/davidson","$schema":"http://json-schema.org/draft-07/schema#","title":"Davidson diagonalization method schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix diagonalization methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["diag"]}}}],"properties":{"type":{"enum":["davidson"]}}},{"$id":"methods-category/mathematical/linalg/diag/enum-options","davidson":{"enum":["davidson"]}},{"$id":"methods-category/mathematical/linalg/diag","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix diagonalization methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["diag"]}}},{"$id":"methods-category/mathematical/linalg/enum-options","decomposition":{"enum":["dcomp"]},"diagonalization":{"enum":["diag"]},"linearTransformation":{"enum":["lintra"]},"matrixFunction":{"enum":["matf"]}},{"$id":"methods-category/mathematical/linalg/lintra","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear transformation methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["lintra"]}}},{"$id":"methods-category/mathematical/linalg/matf","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix function methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["matf"]}}},{"$id":"methods-category/mathematical/linalg","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}},{"$id":"methods-category/mathematical/opt/diff/bracket","$schema":"http://json-schema.org/draft-07/schema#","title":"Bracket algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["bracket"]}}},{"$id":"methods-category/mathematical/opt/diff/enum-options","bracketing":{"enum":["bracket"]},"localDescent":{"enum":["local"]},"firstOrder":{"enum":["order1"]},"secondOrder":{"enum":["order2"]},"nOrder":{"enum":["ordern"]}},{"$id":"methods-category/mathematical/opt/diff/local","$schema":"http://json-schema.org/draft-07/schema#","title":"Local descent methods for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["local"]}}},{"$id":"methods-category/mathematical/opt/diff/order1","$schema":"http://json-schema.org/draft-07/schema#","title":"First order algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["order1"]}}},{"$id":"methods-category/mathematical/opt/diff/order2","$schema":"http://json-schema.org/draft-07/schema#","title":"Second order algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["order2"]}}},{"$id":"methods-category/mathematical/opt/diff/ordern/cg","$schema":"http://json-schema.org/draft-07/schema#","title":"Conjugate gradient method schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mixed order and higher order algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["ordern"]}}}],"properties":{"type":{"enum":["cg"]}}},{"$id":"methods-category/mathematical/opt/diff/ordern/enum-options","conjugateGradient":{"enum":["cg"]}},{"$id":"methods-category/mathematical/opt/diff/ordern","$schema":"http://json-schema.org/draft-07/schema#","title":"Mixed order and higher order algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["ordern"]}}},{"$id":"methods-category/mathematical/opt/diff","$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}},{"$id":"methods-category/mathematical/opt/enum-options","differentiable":{"enum":["diff"]},"nonDifferentiable":{"enum":["ndiff"]},"rootFinding":{"enum":["root"]}},{"$id":"methods-category/mathematical/opt/ndiff/direct","$schema":"http://json-schema.org/draft-07/schema#","title":"Direct algorithms for the optimization of non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["ndiff"]}}}],"properties":{"tier3":{"enum":["direct"]}}},{"$id":"methods-category/mathematical/opt/ndiff/enum-options","direct":{"enum":["direct"]},"population":{"enum":["pop"]},"stochastic":{"enum":["stoch"]}},{"$id":"methods-category/mathematical/opt/ndiff/pop","$schema":"http://json-schema.org/draft-07/schema#","title":"Population algorithms for the optmization of non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["ndiff"]}}}],"properties":{"tier3":{"enum":["pop"]}}},{"$id":"methods-category/mathematical/opt/ndiff/stoch","$schema":"http://json-schema.org/draft-07/schema#","title":"Stochastic algorithms for the optmization of non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["ndiff"]}}}],"properties":{"tier3":{"enum":["stoch"]}}},{"$id":"methods-category/mathematical/opt/ndiff","$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["ndiff"]}}},{"$id":"methods-category/mathematical/opt/root/bracket","$schema":"http://json-schema.org/draft-07/schema#","title":"Bracketing method for finding roots category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Root finding category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["root"]}}}],"properties":{"tier3":{"enum":["bracket"]}}},{"$id":"methods-category/mathematical/opt/root/enum-options","iterative":{"enum":["iterative"]},"bracketing":{"enum":["bracket"]}},{"$id":"methods-category/mathematical/opt/root/iter","$schema":"http://json-schema.org/draft-07/schema#","title":"Iterative method for root finding category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Root finding category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["root"]}}}],"properties":{"tier3":{"enum":["iterative"]}}},{"$id":"methods-category/mathematical/opt/root","$schema":"http://json-schema.org/draft-07/schema#","title":"Root finding category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["root"]}}},{"$id":"methods-category/mathematical/opt","$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}},{"$id":"methods-category/mathematical/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"linear methods category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"type":{"enum":["linear","kernel_ridge"]},"subtype":{"enum":["least_squares","ridge"]}}},{"$id":"methods-category/physical/enum-options","quantumMechanical":{"enum":["qm"]}},{"$id":"methods-category/physical/qm/enum-options","wavefunction":{"enum":["wf"]}},{"$id":"methods-category/physical/qm/wf/ao/dunning","$schema":"http://json-schema.org/draft-07/schema#","title":"Dunning correlation-consistent basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["dunning"]}}},{"$id":"methods-category/physical/qm/wf/ao/other","$schema":"http://json-schema.org/draft-07/schema#","title":"Other (neither Pople nor Dunning) basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["other"]}}},{"$id":"methods-category/physical/qm/wf/ao/pople","$schema":"http://json-schema.org/draft-07/schema#","title":"Pople basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["pople"]}}},{"$id":"methods-category/physical/qm/wf/ao","$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}},{"$id":"methods-category/physical/qm/wf/enum-options","planewave":{"enum":["pw"]},"atomicOrbital":{"enum":["ao"]},"wavelet":{"enum":["wvl"]},"smearing":{"enum":["smearing"]},"tetrahedron":{"enum":["tetrahedron"]},"pseudization":{"enum":["psp"]},"pseudoSubtypes":{"enum":["us","nc","nc-fr","paw","coulomb"]},"smearingSubtypes":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"]},"tetrahedronSubtypes":{"enum":["linear","optimized","bloechl"]},"aoTypes":{"enum":["pople","dunning","other"]}},{"$id":"methods-category/physical/qm/wf/psp","$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["psp"]},"subtype":{"enum":["us","nc","nc-fr","paw","coulomb"]}}},{"$id":"methods-category/physical/qm/wf/pw","$schema":"http://json-schema.org/draft-07/schema#","title":"Plane wave catgeory schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["pw"]}}},{"$id":"methods-category/physical/qm/wf/smearing","$schema":"http://json-schema.org/draft-07/schema#","title":"Smearing methods category schema","description":"Approximating Heaviside step function with smooth function","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["smearing"]},"subtype":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"]}}},{"$id":"methods-category/physical/qm/wf/tetrahedron","$schema":"http://json-schema.org/draft-07/schema#","title":"Tetrahedron method for Brillouin zone integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["tetrahedron"]},"subtype":{"enum":["linear","optimized","bloechl"]}}},{"$id":"methods-category/physical/qm/wf","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}},{"$id":"methods-category/physical/qm","$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}},{"$id":"methods-directory/legacy/localorbital","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method localorbital","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}],"properties":{"type":{"const":"localorbital"},"subtype":{"const":"pople"}}},{"$id":"methods-directory/legacy/pseudopotential","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method pseudopotential","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}],"properties":{"type":{"const":"pseudopotential"},"subtype":{"enum":["paw","nc","us","any"],"default":"us"}}},{"$id":"methods-directory/legacy/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method regression","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}],"properties":{"type":{"enum":["linear","kernel_ridge"]},"subtype":{"enum":["least_squares","ridge"]},"precision":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}},"required":["trainingError"]}}}},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}},"required":["exabyteIds"]}}}},"required":["precision","data"]},{"$id":"methods-directory/legacy/unknown","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method unknown","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}],"properties":{"type":{"const":"unknown"},"subtype":{"const":"unknown"}}},{"$id":"methods-directory/mathematical/cg","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit method conjugate gradient","description":"conjugate gradient method schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Conjugate gradient method schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mixed order and higher order algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["ordern"]}}}],"properties":{"type":{"enum":["cg"]}}}},"required":["categories"]},{"$id":"methods-directory/mathematical/davidson","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit method davidson schema","description":"Davidson diagonalization method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Davidson diagonalization method schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix diagonalization methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["diag"]}}}],"properties":{"type":{"enum":["davidson"]}}}},"required":["categories"]},{"$id":"methods-directory/mathematical/regression/data","$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}},"required":["exabyteIds"]}}},{"$id":"methods-directory/mathematical/regression/dataset","$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}},"required":["exabyteIds"]},{"$id":"methods-directory/mathematical/regression/kernel-ridge/data-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["xFit","dualCoefficients","perFeature"]},{"$id":"methods-directory/mathematical/regression/linear/data-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["intercept","perFeature"]},{"$id":"methods-directory/mathematical/regression/per-feature-item","$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]},{"$id":"methods-directory/mathematical/regression/precision","$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}},"required":["trainingError"]}}}},{"$id":"methods-directory/mathematical/regression/precision-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}},"required":["trainingError"]},{"$id":"methods-directory/mathematical/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method regression","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear methods category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"type":{"enum":["linear","kernel_ridge"]},"subtype":{"enum":["least_squares","ridge"]}}},"precision":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}},"required":["trainingError"]}}}},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}},"required":["exabyteIds"]}}}},"required":["categories","precision","data"]},{"$id":"methods-directory/physical/ao/dunning","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao dunning","description":"Dunning correlation-consistent basis set unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dunning correlation-consistent basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["dunning"]}}},"parameters":{"allOf":[{"type":"object","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}}]}},"required":["categories"],"definitions":{"ao-basis-dunning":{"type":"object","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}}}},{"$id":"methods-directory/physical/ao/enum-options","popleAoBasis":{"enum":["3-21G","6-31G","6-311G"]},"dunningAoBasis":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]},"otherAoBasis":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}},{"$id":"methods-directory/physical/ao/other","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao other","description":"Other (neither Pople nor Dunning) basis set unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Other (neither Pople nor Dunning) basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["other"]}}},"parameters":{"allOf":[{"type":"object","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}}]}},"required":["categories"],"definitions":{"ao-basis-other":{"type":"object","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}}}},{"$id":"methods-directory/physical/ao/pople","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao pople","description":"Pople basis set unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pople basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["pople"]}}},"parameters":{"allOf":[{"type":"object","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}}]}},"required":["categories"],"definitions":{"ao-basis-pople":{"type":"object","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}}}},{"$id":"methods-directory/physical/psp/file","$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential file","type":"object","properties":{"slug":{"enum":["pseudopotential"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}}}}},"required":["element","type","exchangeCorrelation","source","path","apps","name","hash"]},"source":{"type":"object","description":"TODO: remove in the future","properties":{"info":{"type":"object"},"type":{"type":"string"}}}}},{"$id":"methods-directory/physical/psp/file-data-item","$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}}}}},"required":["element","type","exchangeCorrelation","source","path","apps","name","hash"]},{"$id":"methods-directory/physical/psp","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method pseudopotential","description":"Core-valence separation by means of pseudopotentials (effective potential)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["psp"]},"subtype":{"enum":["us","nc","nc-fr","paw","coulomb"]}}},"data":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential file","type":"object","properties":{"slug":{"enum":["pseudopotential"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}}}}},"required":["element","type","exchangeCorrelation","source","path","apps","name","hash"]},"source":{"type":"object","description":"TODO: remove in the future","properties":{"info":{"type":"object"},"type":{"type":"string"}}}}}}},"required":["categories"]},{"$id":"methods-directory/physical/pw","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method plane wave","description":"Approximating the electronic wave function with a plane wave basis","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane wave catgeory schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["pw"]}}}},"required":["categories"]},{"$id":"methods-directory/physical/smearing","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method smearing","description":"Approximating Heaviside step function with smooth function","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Smearing methods category schema","description":"Approximating Heaviside step function with smooth function","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["smearing"]},"subtype":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"]}}}},"required":["categories"]},{"$id":"methods-directory/physical/tetrahedron","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method tetrahedron","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Tetrahedron method for Brillouin zone integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["tetrahedron"]},"subtype":{"enum":["linear","optimized","bloechl"]}}}},"required":["categories"]},{"$id":"model/categorized-model","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized model","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"units":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}}},"required":["units"]}},"required":["method"]},{"$id":"model/mixins/dft/double-hybrid-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","properties":{"functional":{"enum":["b2plyp"]}}},{"$id":"model/mixins/dft/enum-options","lda":{"enum":["pz"]},"gga":{"enum":["pbe","pbesol"]},"mgga":{"enum":["scan"]},"hybrid":{"enum":["hse06","b3lyp"]},"doubleHybrid":{"enum":["b2plyp"]}},{"$id":"model/mixins/dft/gga-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"$id":"model/mixins/dft/hybrid-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","properties":{"functional":{"enum":["hse06","b3lyp"]}}},{"$id":"model/mixins/dft/lda-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"$id":"model/mixins/dft/mgga-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true},{"$id":"model/mixins/dispersion-correction","$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$id":"model/mixins/enum-options","spinPolarization":{"enum":["collinear","non-collinear"]},"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]},"hubbardType":{"enum":["u"]}},{"$id":"model/mixins/hubbard","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}},{"$id":"model/mixins/spin-orbit-coupling","$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$id":"model/mixins/spin-polarization","$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$id":"model/model-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"ModelParameters","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","properties":{"functional":{"enum":["hse06","b3lyp"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","properties":{"functional":{"enum":["b2plyp"]}}}]}]},{"$id":"model/model-without-method","$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]},{"$id":"model","$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},{"$id":"models-category/enum-options","physicsBased":{"enum":["pb"]},"statistical":{"enum":["st"]}},{"$id":"models-category/pb/enum-options","quantumMechanical":{"enum":["qm"]}},{"$id":"models-category/pb/qm/abin/enum-options","gwApproximation":{"enum":["gw"]},"gwSubtypes":{"enum":["g0w0","evgw0","evgw"]}},{"$id":"models-category/pb/qm/abin/gw","$schema":"http://json-schema.org/draft-07/schema#","title":"GW category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ab initio category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["abin"]}}}],"properties":{"type":{"enum":["gw"]},"subtype":{"enum":["g0w0","evgw0","evgw"]}}},{"$id":"models-category/pb/qm/abin","$schema":"http://json-schema.org/draft-07/schema#","title":"Ab initio category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["abin"]}}},{"$id":"models-category/pb/qm/dft/enum-options","kohnSham":{"enum":["ksdft"]}},{"$id":"models-category/pb/qm/dft/ksdft/double-hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT double hybrid functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["double-hybrid"]}}},{"$id":"models-category/pb/qm/dft/ksdft/enum-options","localDensityApproximation":{"enum":["lda"]},"generalizedGradientApproximation":{"enum":["gga"]},"metaGGA":{"enum":["mgga"]},"hybrid":{"enum":["hybrid"]},"doubleHybrid":{"enum":["double-hybrid"]}},{"$id":"models-category/pb/qm/dft/ksdft/gga","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["gga"]}}},{"$id":"models-category/pb/qm/dft/ksdft/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["hybrid"]}}},{"$id":"models-category/pb/qm/dft/ksdft/lda","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["lda"]}}},{"$id":"models-category/pb/qm/dft/ksdft/mgga","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT meta-GGA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["mgga"]}}},{"$id":"models-category/pb/qm/dft/ksdft","$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}},{"$id":"models-category/pb/qm/dft","$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}},{"$id":"models-category/pb/qm/enum-options","abInitio":{"enum":["abin"]},"densityFunctional":{"enum":["dft"]},"semiEmpirical":{"enum":["semp"]}},{"$id":"models-category/pb/qm/semp","$schema":"http://json-schema.org/draft-07/schema#","title":"Semi-empirical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["semp"]}}},{"$id":"models-category/pb/qm","$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}},{"$id":"models-category/pb","$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}},{"$id":"models-category/st/det/enum-options","machineLearning":{"enum":["ml"]}},{"$id":"models-category/st/det/ml/enum-options","regression":{"enum":["re"]}},{"$id":"models-category/st/det/ml/re","$schema":"http://json-schema.org/draft-07/schema#","title":"regression model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"machine learning model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"deterministic model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["st"]}}}],"properties":{"tier2":{"enum":["det"]}}}],"properties":{"tier3":{"enum":["ml"]}}}],"properties":{"type":{"enum":["re"]}}},{"$id":"models-category/st/det/ml","$schema":"http://json-schema.org/draft-07/schema#","title":"machine learning model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"deterministic model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["st"]}}}],"properties":{"tier2":{"enum":["det"]}}}],"properties":{"tier3":{"enum":["ml"]}}},{"$id":"models-category/st/det","$schema":"http://json-schema.org/draft-07/schema#","title":"deterministic model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["st"]}}}],"properties":{"tier2":{"enum":["det"]}}},{"$id":"models-category/st/enum-options","deterministic":{"enum":["det"]}},{"$id":"models-category/st","$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["st"]}}},{"$id":"models-directory/double-hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"model double hybrid functional","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT double hybrid functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["double-hybrid"]}}},"parameters":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","properties":{"functional":{"enum":["b2plyp"]}}},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/gga","$schema":"http://json-schema.org/draft-07/schema#","title":"model generalized gradient approximation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["gga"]}}},"parameters":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/gw","$schema":"http://json-schema.org/draft-07/schema#","title":"model gw approximation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"GW category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ab initio category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["abin"]}}}],"properties":{"type":{"enum":["gw"]},"subtype":{"enum":["g0w0","evgw0","evgw"]}}},"parameters":{"allOf":[{"type":"object","properties":{"require":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"model hybrid functional","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["hybrid"]}}},"parameters":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","properties":{"functional":{"enum":["hse06","b3lyp"]}}},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/lda","$schema":"http://json-schema.org/draft-07/schema#","title":"model local density approximation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["lda"]}}},"parameters":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/legacy/dft","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model density functional theory","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},{"oneOf":[{"properties":{"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]}}},{"properties":{"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]}}},{"properties":{"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06"]}}}]}],"properties":{"type":{"const":"dft"}},"definitions":{"lda":{"properties":{"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]}}},"gga":{"properties":{"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]}}},"hybrid":{"properties":{"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06"]}}}}},{"$id":"models-directory/legacy/ml","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model regression","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]}],"properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]}}},{"$id":"models-directory/legacy/unknown","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model unknown","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]}],"properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]}}},{"$id":"models-directory/mgga","$schema":"http://json-schema.org/draft-07/schema#","title":"model meta generalized gradient approximation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT meta-GGA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["mgga"]}}},"parameters":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/re","$schema":"http://json-schema.org/draft-07/schema#","title":"model regression","description":"machine learning model type/subtype schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"machine learning model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"deterministic model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["st"]}}}],"properties":{"tier2":{"enum":["det"]}}}],"properties":{"tier3":{"enum":["ml"]}}}],"properties":{"type":{"enum":["re"]}}},"parameters":{"type":"object"}},"required":["categories","parameters"]},{"$id":"project","$schema":"http://json-schema.org/draft-07/schema#","title":"project schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"gid":{"description":"project GID","type":"number"},"clusterBasedChargeRates":{"description":"charge rates info for project","type":"array","items":{"type":"object","properties":{"rate":{"type":"number"},"timestamp":{"type":"number"},"hostname":{"type":"string"}}}},"isExternal":{"type":"boolean","default":false}}},{"$id":"properties-directory/derived-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},{"$id":"properties-directory/electronic-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"electronic configuration schema","type":"object","properties":{"charge":{"description":"total charge of the molecular system","type":"integer"},"multiplicity":{"description":"calculated as 2S+1, with S is the total spin angular momentum","type":"integer"}}},{"$id":"properties-directory/elemental/atomic-radius","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic radius","description":"atomic radius","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["atomic_radius"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["name"]},{"$id":"properties-directory/elemental/electronegativity","$schema":"http://json-schema.org/draft-07/schema#","title":"electronegativity","description":"electronegativity for the element (Pauling scale)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["electronegativity"]}},"required":["name"]},{"$id":"properties-directory/elemental/ionization-potential","$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential elemental property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["ionization_potential"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name","units"]},{"$id":"properties-directory/jupyter-notebook-endpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter notebook endpoint property schema","type":"object","properties":{"name":{"enum":["jupyter_notebook_endpoint"]},"host":{"type":"string"},"port":{"type":"number"},"token":{"type":"string"}},"required":["name","host","port","token"]},{"$id":"properties-directory/non-scalar/average-potential-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Average potential profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"properties":{"label":{"enum":["z coordinate"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}}},"yAxis":{"properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["average_potential_profile"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/band-gaps","$schema":"http://json-schema.org/draft-07/schema#","title":"Band gaps property schema","description":"contains band gap values","type":"object","properties":{"name":{"enum":["band_gaps"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["type"]}},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"kpoint":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"weight":{"type":"number"},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"spin":{"type":"number"},"energies":{"type":"array"},"occupations":{"type":"array"}}}}}}}},"required":["name","values"]},{"$id":"properties-directory/non-scalar/band-structure","$schema":"http://json-schema.org/draft-07/schema#","title":"Band structure property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["kpoints"]},"units":{"enum":["crystal","cartesian"],"default":"crystal"}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["band_structure"]},"spin":{"description":"spin of each band","type":"array","items":{"type":"number","enum":[0.5,-0.5]}}},"required":["name","spin","xAxis","yAxis"]},{"$id":"properties-directory/non-scalar/charge-density-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Charge density profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["z coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["charge density"]},"units":{"enum":["e/A"]}}},"name":{"enum":["charge_density_profile"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/density-of-states","$schema":"http://json-schema.org/draft-07/schema#","title":"Density of states property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["density of states"]},"units":{"enum":["states/unitcell"]}}},"name":{"enum":["density_of_states"]},"legend":{"type":"array","items":{"type":"object","properties":{"element":{"description":"chemical element","type":"string"},"index":{"description":"index inside sub-array of atoms of the same element type","type":"integer"},"electronicState":{"description":"electronic character and shell of PDOS, such as `1s` or `s`, or `total`","type":"string","pattern":"^([1-5]{1})?(s|p|d|f|g).*$"},"spin":{"description":"spin of the electronic state","type":"number","enum":[0.5,-0.5]}}}}},"required":["name","legend"]},{"$id":"properties-directory/non-scalar/dielectric-tensor","$schema":"http://json-schema.org/draft-07/schema#","title":"dielectric tensor property schema","description":"The real and imaginary parts of the diagonal elements of the dieletric tensor","type":"object","properties":{"name":{"enum":["dielectric_tensor"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"","description":"Schema for a function of frequency yielding a nx3 matrix","type":"object","properties":{"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}],"properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"}},"required":["part","frequencies","components"]}}},"required":["name","values"]},{"$id":"properties-directory/non-scalar/file-content","$schema":"http://json-schema.org/draft-07/schema#","title":"File content property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"name":{"enum":["file_content"]},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string","enum":["image","text","csv"],"$comment":"isGenerative:true"},"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}}},"required":["name","filetype","objectData"]},{"$id":"properties-directory/non-scalar/final-structure","$schema":"http://json-schema.org/draft-07/schema#","title":"Final structure property schema","type":"object","properties":{"name":{"enum":["final_structure"]},"isRelaxed":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","isRelaxed","materialId"]},{"$id":"properties-directory/non-scalar/hubbard-u","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U parameters property schema","description":"Hubbard U values in eV corresponding to atomic species, orbital and site number.","type":"object","properties":{"name":{"enum":["hubbard_u"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital","description":"Atomic properties per orbital e.g., Hubbard U parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","atomicSpecies","orbitalName","value"]}}},"required":["name","values","units"]},{"$id":"properties-directory/non-scalar/hubbard-v","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V parameters property schema","description":"Hubbard V values corresponding to atomic pairs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","id2","atomicSpecies","atomicSpecies2","value"]}}},"required":["values","units"]}],"properties":{"name":{"enum":["hubbard_v"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/hubbard-v-nn","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V NN parameters property schema","description":"Hubbard V value in eV for nearest neighbors used in hp.x output parsing","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","id2","atomicSpecies","atomicSpecies2","value"]}}},"required":["values","units"]}],"properties":{"name":{"enum":["hubbard_v_nn"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/is-relaxed","$schema":"http://json-schema.org/draft-07/schema#","title":"Is relaxed property schema","type":"object","properties":{"name":{"enum":["is_relaxed"]},"value":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","value","materialId"]},{"$id":"properties-directory/non-scalar/phonon-dispersions","$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon band structure property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["qpoints"]},"units":{"enum":["crystal","cartesian"],"default":"crystal"}}},"yAxis":{"type":"object","properties":{"label":{"enum":["frequency"]},"units":{"enum":["cm-1","THz","meV"]}}},"name":{"enum":["phonon_dispersions"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/phonon-dos","$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon density of states property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["frequency"]},"units":{"enum":["cm-1","THz","meV"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["Phonon DOS"]},"units":{"enum":["states/cm-1","states/THz","states/meV"]}}},"name":{"enum":["phonon_dos"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/potential-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Potential profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["z coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["potential_profile"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/reaction-energy-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["reaction coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["reaction_energy_profile"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/stress-tensor","$schema":"http://json-schema.org/draft-07/schema#","title":"Stress tensor property schema","type":"object","properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"name":{"enum":["stress_tensor"]},"units":{"enum":["kbar","pa"]}},"required":["name","value","units"]},{"$id":"properties-directory/non-scalar/total-energy-contributions","$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy contributions property schema","type":"object","properties":{"temperatureEntropy":{"description":"product of temperature and configurational entropy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["temperature_entropy"]}}},"harris_foulkes":{"description":"non self-consitent energy based on an input charge density","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["harris_foulkes"]}}},"smearing":{"description":"smearing energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["smearing"]}}},"one_electron":{"description":"kinetic + pseudopotential energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["one_electron"]}}},"hartree":{"description":"energy due to coulomb potential","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["hartree"]}}},"exchange":{"description":"exchange energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["exchange"]}}},"exchange_correlation":{"description":"exchange and correlation energy per particle","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["exchange_correlation"]}}},"ewald":{"description":"summation of interaction energies at long length scales due to coloumbic interactions","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["ewald"]}}},"alphaZ":{"description":"divergent electrostatic ion interaction in compensating electron gas","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["alphaZ"]}}},"atomicEnergy":{"description":"kinetic energy of wavefunctions in the atomic limit","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["atomic_energy"]}}},"eigenvalues":{"description":"sum of one electron energies of kinetic, electrostatic, and exchange correlation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["eigenvalues"]}}},"PAWDoubleCounting2":{"description":"double counting correction 2","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["PAW_double-counting_correction_2"]}}},"PAWDoubleCounting3":{"description":"double counting correction 3","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["PAW_double-counting_correction_3"]}}},"hartreeFock":{"description":"hartree-fock contribution","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["hartree_fock"]}}},"name":{"enum":["total_energy_contributions"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/vibrational-spectrum","$schema":"http://json-schema.org/draft-07/schema#","title":"Vibrational spectrum property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["frequency","wavenumber"]},"units":{"enum":["cm-1","THz","meV"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["Intensity","Absorbance","Absorption coefficient"]},"units":{"enum":["(debye/angstrom)^2","km/mol","m/mol","a.u."]}}},"name":{"enum":["vibrational_spectrum"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/workflow","$schema":"http://json-schema.org/draft-07/schema#","title":"Workflow property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}}}}],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]}],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","application"]}]}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["subworkflow"]}}}],"discriminator":{"propertyName":"type"},"required":["type"]}}},"required":["units","subworkflows"]}],"properties":{"name":{"enum":["workflow:pyml_predict"]}},"required":["name"]},{"$id":"properties-directory/reusable/hubbard-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","id2","atomicSpecies","atomicSpecies2","value"]}}},"required":["values","units"]},{"$id":"properties-directory/scalar/electron-affinity","$schema":"http://json-schema.org/draft-07/schema#","title":"Electron affinity property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["electron_affinity"]}},"required":["name"]},{"$id":"properties-directory/scalar/fermi-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Fermi energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["fermi_energy"]}},"required":["name"]},{"$id":"properties-directory/scalar/formation-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["formation_energy"]}},"required":["name"]},{"$id":"properties-directory/scalar/ionization-potential","$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential scalar property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["ionization_potential"]}},"required":["name"]},{"$id":"properties-directory/scalar/pressure","$schema":"http://json-schema.org/draft-07/schema#","title":"Pressure property schema","description":"average pressure in unit cell","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["pressure"]},"units":{"enum":["kbar","pa"]}},"required":["name","units"]},{"$id":"properties-directory/scalar/reaction-energy-barrier","$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy barrier property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["reaction_energy_barrier"]}},"required":["name"]},{"$id":"properties-directory/scalar/surface-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Surface energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["surface_energy"]}},"required":["name"]},{"$id":"properties-directory/scalar/total-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["total_energy"]}},"required":["name","units"]},{"$id":"properties-directory/scalar/total-force","$schema":"http://json-schema.org/draft-07/schema#","title":"Total forces property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["total_force"]},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}},"required":["name","units"]},{"$id":"properties-directory/scalar/valence-band-offset","$schema":"http://json-schema.org/draft-07/schema#","title":"Valence band offset property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["valence_band_offset"]}},"required":["name"]},{"$id":"properties-directory/scalar/zero-point-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Zero point energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["zero_point_energy"]}},"required":["name"]},{"$id":"properties-directory/structural/atomic-forces","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic forces property schema","description":"coordinates of atoms by ids, vector, unitless","type":"object","properties":{"name":{"enum":["atomic_forces"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}},"required":["name","units","values"]},{"$id":"properties-directory/structural/basis/atomic-constraint","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]}}},{"$id":"properties-directory/structural/basis/atomic-constraints","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]}}}},{"$id":"properties-directory/structural/basis/atomic-constraints-property","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints property schema","description":"atomic constraints property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["atomic_constraints"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]}}}}},"required":["name","values"]},{"$id":"properties-directory/structural/basis/atomic-coordinate","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}},{"$id":"properties-directory/structural/basis/atomic-coordinates","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},{"$id":"properties-directory/structural/basis/atomic-element","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}},{"$id":"properties-directory/structural/basis/atomic-elements","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},{"$id":"properties-directory/structural/basis/atomic-label","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}},{"$id":"properties-directory/structural/basis/atomic-labels","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}},{"$id":"properties-directory/structural/basis/bonds","$schema":"http://json-schema.org/draft-07/schema#","title":"bonds schema","type":"array","items":{"type":"object","properties":{"atomPair":{"description":"indices of the two connected atoms","type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"minItems":2,"maxItems":2},"bondType":{"type":"string","enum":["single","double","triple","quadruple","aromatic","tautomeric","dative","other"]}}},"uniqueItems":true},{"$id":"properties-directory/structural/basis/boundary-conditions","$schema":"http://json-schema.org/draft-07/schema#","title":"boundary conditions property schema","description":"boundary conditions property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["boundary_conditions"]},"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["name","type","offset"]},{"$id":"properties-directory/structural/basis/units-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},{"$id":"properties-directory/structural/basis","$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},{"$id":"properties-directory/structural/density","$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$id":"properties-directory/structural/elemental-ratio","$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$id":"properties-directory/structural/inchi","$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$id":"properties-directory/structural/inchi-key","$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}},{"$id":"properties-directory/structural/lattice/type-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},{"$id":"properties-directory/structural/lattice/type-extended-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type extended enum","type":"string","enum":["BCC","BCT-1","BCT-2","CUB","FCC","HEX","MCL","MCLC-1","MCLC-2","MCLC-3","MCLC-4","MCLC-5","ORC","ORCC","ORCF-1","ORCF-2","ORCF-3","ORCI","RHL-1","RHL-2","TET","TRI_1a","TRI_1b","TRI_2a","TRI_2b"]},{"$id":"properties-directory/structural/lattice/units/angle-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]},{"$id":"properties-directory/structural/lattice/units/length-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},{"$id":"properties-directory/structural/lattice/units","$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}},{"$id":"properties-directory/structural/lattice/vectors/units-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},{"$id":"properties-directory/structural/lattice/vectors","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},{"$id":"properties-directory/structural/lattice","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},{"$id":"properties-directory/structural/magnetic-moments","$schema":"http://json-schema.org/draft-07/schema#","title":"Magnetic moments property schema","description":"magnetization on each ion","type":"object","properties":{"name":{"enum":["magnetic_moments"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"enum":["uB"]}},"required":["name","values","units"]},{"$id":"properties-directory/structural/molecular-pattern","$schema":"http://json-schema.org/draft-07/schema#","title":"molecular pattern schema","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"functional group pattern schema","type":"object","properties":{"name":{"enum":["functional_group"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}},"SMARTS":{"description":"SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ring pattern schema","type":"object","properties":{"name":{"enum":["ring"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}},"isAromatic":{"type":"boolean"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"special bond pattern schema","type":"object","description":"Any bonding interaction that cannot be described by simple 2-atom picture, e.g. 3-center-2-electron bond in diborane","properties":{"name":{"enum":["special_bond"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}}},"required":["name"]}]}},{"$id":"properties-directory/structural/p-norm","$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$id":"properties-directory/structural/patterns/functional-group","$schema":"http://json-schema.org/draft-07/schema#","title":"functional group pattern schema","type":"object","properties":{"name":{"enum":["functional_group"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}},"SMARTS":{"description":"SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification","type":"string"}},"required":["name"]},{"$id":"properties-directory/structural/patterns/ring","$schema":"http://json-schema.org/draft-07/schema#","title":"ring pattern schema","type":"object","properties":{"name":{"enum":["ring"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}},"isAromatic":{"type":"boolean"}},"required":["name"]},{"$id":"properties-directory/structural/patterns/special-bond","$schema":"http://json-schema.org/draft-07/schema#","title":"special bond pattern schema","type":"object","description":"Any bonding interaction that cannot be described by simple 2-atom picture, e.g. 3-center-2-electron bond in diborane","properties":{"name":{"enum":["special_bond"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}}},"required":["name"]},{"$id":"properties-directory/structural/symmetry","$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$id":"properties-directory/structural/volume","$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$id":"properties-directory/workflow/convergence/electronic","$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence electronic property schema","type":"object","properties":{"name":{"enum":["convergence_electronic"]},"units":{"enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"required":["data","name","units"]},{"$id":"properties-directory/workflow/convergence/ionic","$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence ionic property schema","type":"object","properties":{"name":{"enum":["convergence_ionic"]},"tolerance":{"description":"for ionic convergence tolerance shows force tolerance"},"units":{"description":"units for force tolerance","enum":["eV"]},"data":{"type":"array","description":"energetic and structural information","items":{"type":"object","properties":{"energy":{"description":"converged electronic energy for this structure (last in `electronic`)","type":"number"},"structure":{"description":"TODO: structural information at each step to be here","type":"object"},"electronic":{"description":"data about electronic at this ionic step","type":"object","properties":{"units":{"description":"units for force tolerance","enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"number"}}}}},"required":["energy"]}}},"required":["data","name","units"]},{"$id":"properties-directory/workflow/convergence/kpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"convergence schema for converging a property wrt kpoints","type":"object","properties":{"tolerance":{"description":"tolerance for the property under investigation"},"units":{"description":"units for the property under investigation","type":"string"},"property":{"description":"name of the property under investigation","type":"string"},"data":{"type":"array","description":"kpoint grid and property information","items":{"type":"object","properties":{"value":{"description":"value of the property at this step"},"grid":{"description":"information about the kpoint grid","type":"object"},"spacing":{"description":"optional kpoint spacing information","type":"number"}},"required":["value","grid"]}}},"required":["tolerance","units","data"]},{"$id":"property/holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Property holder schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}}],"properties":{"group":{"description":"property group, e.g. qe:dft:gga:pbe","type":"string"},"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Valence band offset property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["valence_band_offset"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Zero point energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["zero_point_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pressure property schema","description":"average pressure in unit cell","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["pressure"]},"units":{"enum":["kbar","pa"]}},"required":["name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy barrier property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["reaction_energy_barrier"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Surface energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["surface_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["total_energy"]}},"required":["name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total forces property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["total_force"]},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}},"required":["name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Fermi energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["fermi_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential scalar property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["ionization_potential"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stress tensor property schema","type":"object","properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"name":{"enum":["stress_tensor"]},"units":{"enum":["kbar","pa"]}},"required":["name","value","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Band gaps property schema","description":"contains band gap values","type":"object","properties":{"name":{"enum":["band_gaps"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["type"]}},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"kpoint":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"weight":{"type":"number"},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"spin":{"type":"number"},"energies":{"type":"array"},"occupations":{"type":"array"}}}}}}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Band structure property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["kpoints"]},"units":{"enum":["crystal","cartesian"],"default":"crystal"}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["band_structure"]},"spin":{"description":"spin of each band","type":"array","items":{"type":"number","enum":[0.5,-0.5]}}},"required":["name","spin","xAxis","yAxis"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon band structure property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["qpoints"]},"units":{"enum":["crystal","cartesian"],"default":"crystal"}}},"yAxis":{"type":"object","properties":{"label":{"enum":["frequency"]},"units":{"enum":["cm-1","THz","meV"]}}},"name":{"enum":["phonon_dispersions"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy contributions property schema","type":"object","properties":{"temperatureEntropy":{"description":"product of temperature and configurational entropy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["temperature_entropy"]}}},"harris_foulkes":{"description":"non self-consitent energy based on an input charge density","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["harris_foulkes"]}}},"smearing":{"description":"smearing energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["smearing"]}}},"one_electron":{"description":"kinetic + pseudopotential energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["one_electron"]}}},"hartree":{"description":"energy due to coulomb potential","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["hartree"]}}},"exchange":{"description":"exchange energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["exchange"]}}},"exchange_correlation":{"description":"exchange and correlation energy per particle","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["exchange_correlation"]}}},"ewald":{"description":"summation of interaction energies at long length scales due to coloumbic interactions","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["ewald"]}}},"alphaZ":{"description":"divergent electrostatic ion interaction in compensating electron gas","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["alphaZ"]}}},"atomicEnergy":{"description":"kinetic energy of wavefunctions in the atomic limit","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["atomic_energy"]}}},"eigenvalues":{"description":"sum of one electron energies of kinetic, electrostatic, and exchange correlation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["eigenvalues"]}}},"PAWDoubleCounting2":{"description":"double counting correction 2","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["PAW_double-counting_correction_2"]}}},"PAWDoubleCounting3":{"description":"double counting correction 3","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["PAW_double-counting_correction_3"]}}},"hartreeFock":{"description":"hartree-fock contribution","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["hartree_fock"]}}},"name":{"enum":["total_energy_contributions"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon density of states property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["frequency"]},"units":{"enum":["cm-1","THz","meV"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["Phonon DOS"]},"units":{"enum":["states/cm-1","states/THz","states/meV"]}}},"name":{"enum":["phonon_dos"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Potential profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["z coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["potential_profile"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["reaction coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["reaction_energy_profile"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density of states property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["density of states"]},"units":{"enum":["states/unitcell"]}}},"name":{"enum":["density_of_states"]},"legend":{"type":"array","items":{"type":"object","properties":{"element":{"description":"chemical element","type":"string"},"index":{"description":"index inside sub-array of atoms of the same element type","type":"integer"},"electronicState":{"description":"electronic character and shell of PDOS, such as `1s` or `s`, or `total`","type":"string","pattern":"^([1-5]{1})?(s|p|d|f|g).*$"},"spin":{"description":"spin of the electronic state","type":"number","enum":[0.5,-0.5]}}}}},"required":["name","legend"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dielectric tensor property schema","description":"The real and imaginary parts of the diagonal elements of the dieletric tensor","type":"object","properties":{"name":{"enum":["dielectric_tensor"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"","description":"Schema for a function of frequency yielding a nx3 matrix","type":"object","properties":{"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}],"properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"}},"required":["part","frequencies","components"]}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"File content property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"name":{"enum":["file_content"]},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string","enum":["image","text","csv"],"$comment":"isGenerative:true"},"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}}},"required":["name","filetype","objectData"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U parameters property schema","description":"Hubbard U values in eV corresponding to atomic species, orbital and site number.","type":"object","properties":{"name":{"enum":["hubbard_u"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital","description":"Atomic properties per orbital e.g., Hubbard U parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","atomicSpecies","orbitalName","value"]}}},"required":["name","values","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V parameters property schema","description":"Hubbard V values corresponding to atomic pairs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","id2","atomicSpecies","atomicSpecies2","value"]}}},"required":["values","units"]}],"properties":{"name":{"enum":["hubbard_v"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V NN parameters property schema","description":"Hubbard V value in eV for nearest neighbors used in hp.x output parsing","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","id2","atomicSpecies","atomicSpecies2","value"]}}},"required":["values","units"]}],"properties":{"name":{"enum":["hubbard_v_nn"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Average potential profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"properties":{"label":{"enum":["z coordinate"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}}},"yAxis":{"properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["average_potential_profile"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Charge density profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["z coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["charge density"]},"units":{"enum":["e/A"]}}},"name":{"enum":["charge_density_profile"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Workflow property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}}}}],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]}],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","application"]}]}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["subworkflow"]}}}],"discriminator":{"propertyName":"type"},"required":["type"]}}},"required":["units","subworkflows"]}],"properties":{"name":{"enum":["workflow:pyml_predict"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Magnetic moments property schema","description":"magnetization on each ion","type":"object","properties":{"name":{"enum":["magnetic_moments"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"enum":["uB"]}},"required":["name","values","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic forces property schema","description":"coordinates of atoms by ids, vector, unitless","type":"object","properties":{"name":{"enum":["atomic_forces"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}},"required":["name","units","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence electronic property schema","type":"object","properties":{"name":{"enum":["convergence_electronic"]},"units":{"enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"required":["data","name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence ionic property schema","type":"object","properties":{"name":{"enum":["convergence_ionic"]},"tolerance":{"description":"for ionic convergence tolerance shows force tolerance"},"units":{"description":"units for force tolerance","enum":["eV"]},"data":{"type":"array","description":"energetic and structural information","items":{"type":"object","properties":{"energy":{"description":"converged electronic energy for this structure (last in `electronic`)","type":"number"},"structure":{"description":"TODO: structural information at each step to be here","type":"object"},"electronic":{"description":"data about electronic at this ionic step","type":"object","properties":{"units":{"description":"units for force tolerance","enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"number"}}}}},"required":["energy"]}}},"required":["data","name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Is relaxed property schema","type":"object","properties":{"name":{"enum":["is_relaxed"]},"value":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","value","materialId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Final structure property schema","type":"object","properties":{"name":{"enum":["final_structure"]},"isRelaxed":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","isRelaxed","materialId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter notebook endpoint property schema","type":"object","properties":{"name":{"enum":["jupyter_notebook_endpoint"]},"host":{"type":"string"},"port":{"type":"number"},"token":{"type":"string"}},"required":["name","host","port","token"]}],"discriminator":{"propertyName":"name"}},"source":{"type":"object","properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}},"required":["jobId","unitId"]}},"required":["type","info"]},"exabyteId":{"description":"Id of the corresponding item in the entity bank that this property is obtained for","type":"array","items":{"type":"string"}},"precision":{"type":"object","properties":{"value":{"type":"number"},"metric":{"type":"string"}}},"systemTags":{"description":"property system tags, marks property system characteristics, values refined or best (could be both)","type":"array","items":{"type":"string","enum":["isRefined","isBest"]}},"repetition":{"type":"number"}},"required":["data","source","repetition","exabyteId"]},{"$id":"property/meta-holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Meta property holder schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}}],"properties":{"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}}}}},"required":["element","type","exchangeCorrelation","source","path","apps","name","hash"]}]},"source":{"type":"object","properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"type":"object"}},"required":["type"]}},"required":["data","source"]},{"$id":"property/proto-holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Proto property holder schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}}],"properties":{"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints property schema","description":"atomic constraints property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["atomic_constraints"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]}}}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundary conditions property schema","description":"boundary conditions property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["boundary_conditions"]},"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["name","type","offset"]}]},"source":{"type":"object","properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"type":"object","properties":{"materialId":{"type":"string"}}}},"required":["type","info"]}},"required":["data","source"]},{"$id":"property/source","$schema":"http://json-schema.org/draft-07/schema#","title":"Property source schema","type":"object","properties":{"type":{"description":"Type of the material property's source.","type":"string"},"url":{"description":"Internet address of the reference.","type":"string"},"info":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}},"required":["jobId","unitId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}},"required":["name"]}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}},"required":["latitude","longitude"]},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}}},"required":["conditions","authors","title","method","timestamp"]}]}},"required":["info"]},{"$id":"software/application","$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},{"$id":"software/executable","$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},{"$id":"software/flavor","$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},{"$id":"software/template","$schema":"http://json-schema.org/draft-07/schema#","title":"template schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}}]}],"properties":{"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"executableName":{"type":"string"},"contextProviders":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"isManuallyChanged":{"type":"boolean"}},"required":["content"]},{"$id":"software-directory/modeling/deepmd","$schema":"http://json-schema.org/draft-07/schema#","title":"DeePMD app schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true}],"properties":{"name":{"enum":["deepmd"]},"summary":{"enum":["DeePMD is a deep learning package that is based on neural network fitted first-principles data for many-body potential energy representation and molecular dynamics"]},"version":{"enum":["2.0.2"]},"exec":{"enum":["dp","lmp","python"]}}},{"$id":"software-directory/modeling/espresso/arguments","$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false},{"$id":"software-directory/modeling/espresso","$schema":"http://json-schema.org/draft-07/schema#","title":"espresso app schema","type":"object","properties":{"name":{"enum":["espresso"]},"summary":{"enum":["Quantum Espresso"]},"version":{"enum":["5.2.1","5.4.0","6.0.0","6.3","6.4.1","6.5.0","6.6.0","6.7.0","6.8.0","7.0","7.2","7.3"]}}},{"$id":"software-directory/modeling/nwchem","$schema":"http://json-schema.org/draft-07/schema#","title":"NWChem","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true}],"properties":{"name":{"enum":["NWChem"]},"summary":{"enum":["NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations"]},"version":{"enum":["6.6","7.0.2"]},"exec":{"enum":["nwchem"]}}},{"$id":"software-directory/modeling/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema for physics-based simulation engines (defined using espresso as example)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema for physics-based simulation engines","type":"object","properties":{"input":{"title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}}}}]},{"$id":"software-directory/modeling/vasp","$schema":"http://json-schema.org/draft-07/schema#","title":"vienna ab-inito simulation package","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true}],"properties":{"name":{"enum":["vasp"]},"summary":{"enum":["vienna ab-initio simulation package"]},"flavor":{"enum":["vasp","vasp_nscf","vasp_bands"]},"version":{"enum":["5.3.5"]},"exec":{"enum":["vasp"]}}},{"$id":"software-directory/scripting/jupyter-lab","$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter Lab Application Schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true}],"properties":{"name":{"enum":["jupyterLab"]},"flavor":{"enum":["notebook"]},"summary":{"enum":["Jupyter Lab"]},"version":{"enum":["0.33.12"]},"exec":{"enum":["jupyter"]}}},{"$id":"software-directory/scripting/python","$schema":"http://json-schema.org/draft-07/schema#","title":"Python Programing Language Schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true}],"properties":{"name":{"enum":["python"]},"flavor":{"enum":["python2","python3"]},"summary":{"enum":["Python Script"]},"version":{"enum":["2.7.5","3.6.1"]},"exec":{"enum":["python"]},"arguments":{"description":"Optional arguments passed to the Python script","type":"string"},"environment":{"description":"Optional environment variables exported before running the Python script","type":"object"},"dependencies":{"description":"Optional Python dependencies, e.g. amqp==1.4.6","type":"array"}}},{"$id":"software-directory/scripting/shell","$schema":"http://json-schema.org/draft-07/schema#","title":"Shell Scripting Language Schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true}],"properties":{"name":{"enum":["shell"]},"flavor":{"enum":["sh","bash","zsh","csh"]},"summary":{"enum":["Shell Script"]},"version":{"enum":["4.2.46"]},"exec":{"enum":["sh","bash","zsh","csh"]},"arguments":{"description":"Optional arguments passed to the Shell script","type":"string"},"environment":{"description":"Optional environment variables exported before running the Shell script","type":"object"}}},{"$id":"software-directory/scripting/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema for scripting-based applications","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema for physics-based simulation engines","type":"object","properties":{"input":{"title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}}}}]},{"$id":"system/-material","$schema":"http://json-schema.org/draft-07/schema#","title":"Material entity reference schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}],"properties":{"cls":{"description":"Material class","type":"string","enum":["Material"]}}},{"$id":"system/-parent-job","$schema":"http://json-schema.org/draft-07/schema#","title":"Parent job entity reference schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}],"properties":{"cls":{"description":"Job class","type":"string","enum":["Job"]}}},{"$id":"system/-project","$schema":"http://json-schema.org/draft-07/schema#","title":"Project entity reference schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}],"properties":{"cls":{"description":"Project class","type":"string","enum":["Project"]}}},{"$id":"system/bankable","$schema":"http://json-schema.org/draft-07/schema#","title":"bankable schema","type":"object","properties":{"exabyteId":{"description":"Identity of the corresponding bank entity","type":"string"},"hash":{"description":"Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.","type":"string"}}},{"$id":"system/consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]},{"$id":"system/creator","$schema":"http://json-schema.org/draft-07/schema#","title":"Creator entity reference schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}],"properties":{"cls":{"description":"Creator class","type":"string","enum":["User"]}}},{"$id":"system/creator-account","$schema":"http://json-schema.org/draft-07/schema#","title":"creator account schema","type":"object","properties":{"creatorAccount":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}}},{"$id":"system/database-source","$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$id":"system/defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"system/description","$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$id":"system/entity-reference","$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},{"$id":"system/file-source","$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},{"$id":"system/has-consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"Has consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}}}},{"$id":"system/history","$schema":"http://json-schema.org/draft-07/schema#","title":"history schema","type":"object","properties":{"history":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"number"}},"required":["id","revision"]}}}},{"$id":"system/iframe-message","$schema":"http://json-schema.org/draft-07/schema#","title":"iframe message schema","description":"communication message between iframe and the parent window.","type":"object","properties":{"type":{"description":"The type of the message to distinguish the direction of the message.","type":"string","enum":["from-iframe-to-host","from-host-to-iframe"],"tsEnumNames":["fromIframeToHost","fromHostToIframe"]},"action":{"description":"The action to be performed upon receiving the message.","type":"string","enum":["set-data","get-data","info"],"tsEnumNames":["setData","getData","info"]},"payload":{"description":"The content of the message with actual data.","type":"object"}},"required":["type","action","payload"]},{"$id":"system/in-set","$schema":"http://json-schema.org/draft-07/schema#","title":"System in-set schema","type":"object","properties":{"inSet":{"type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},{"type":"object","properties":{"type":{"type":"string"},"index":{"type":"number"}}}]}}}},{"$id":"system/is-multi-material","$schema":"http://json-schema.org/draft-07/schema#","title":"is multi schema","type":"object","properties":{"isMultiMaterial":{"type":"boolean"}}},{"$id":"system/is-outdated","$schema":"http://json-schema.org/draft-07/schema#","title":"is outdated schema","type":"object","properties":{"isOutdated":{"type":"boolean"}}},{"$id":"system/job-extended","$schema":"http://json-schema.org/draft-07/schema#","title":"extended job schema","type":"object","properties":{"mode":{"type":"string"},"isExternal":{"type":"boolean"},"_materials":{"type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}]}},"_materialsSet":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}]},"purged":{"type":"boolean"},"purgedAt":{"type":"number"},"dataset":{"type":"object"}}},{"$id":"system/message","$schema":"http://json-schema.org/draft-07/schema#","title":"message schema","description":"communication message between Rupy and web application.","type":"object","properties":{"header":{"type":"object","properties":{"entity":{"type":"object","properties":{"_id":{"description":"job identifier","type":"string"},"name":{"description":"entity name.","type":"string","enum":["job","unit"]},"flowchartId":{"description":"unit identifier within the workflow","type":"string"},"probe":{"description":"source of the message.","type":"string","enum":["monitor","postprocessor"]}},"required":["_id","name"]},"version":{"description":"Rupy-Webapp communication schema version.","type":"string"},"timestamp":{"description":"Timestamp of the message.","type":"number"}},"required":["entity","version","timestamp"]},"payload":{"description":"Actual payload of the message.","type":"object"}},"required":["header","payload"]},{"$id":"system/metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$id":"system/name","$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$id":"system/owner","$schema":"http://json-schema.org/draft-07/schema#","title":"Entity owner reference schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}],"properties":{"cls":{"description":"Entity owner class","type":"string","enum":["Account"]}}},{"$id":"system/path","$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},{"$id":"system/path-entity","$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$id":"system/schema-version","$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"system/scope","$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$id":"system/set","$schema":"http://json-schema.org/draft-07/schema#","title":"Entity set schema","type":"object","properties":{"isEntitySet":{"type":"boolean"},"entitySetType":{"type":"string"},"entityCls":{"type":"string"}}},{"$id":"system/sharing","$schema":"http://json-schema.org/draft-07/schema#","title":"extended sharing schema","type":"object","properties":{"sharedCount":{"type":"number"}}},{"$id":"system/soft-removable","$schema":"http://json-schema.org/draft-07/schema#","title":"soft removable entity schema","type":"object","properties":{"removedAt":{"description":"Timestamp of the moment when entity was removed","type":"string"},"removed":{"description":"Identifies that entity was removed","type":"boolean"}}},{"$id":"system/status","$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$id":"system/tags","$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"system/timestampable","$schema":"http://json-schema.org/draft-07/schema#","title":"timestampable entity schema","type":"object","properties":{"createdAt":{"description":"entity creation time","type":"string","format":"date-time"},"updatedAt":{"description":"entity last modification time","type":"string","format":"date-time"},"createdBy":{"type":"string"},"updatedBy":{"type":"string"}}},{"$id":"system/use-values","$schema":"http://json-schema.org/draft-07/schema#","title":"use values schema","type":"object","properties":{"useValues":{"type":"boolean"}}},{"$id":"workflow/base","$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}}}},{"$id":"workflow/base-flow","$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]},{"$id":"workflow/scope","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}},"required":["global","local"]},{"$id":"workflow/subworkflow/unit","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}],"discriminator":{"propertyName":"type"},"required":["type"]},{"$id":"workflow/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]}],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","application"]},{"$id":"workflow/unit/assertion","$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$id":"workflow/unit/assignment","$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$id":"workflow/unit/base","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$id":"workflow/unit/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$id":"workflow/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$id":"workflow/unit/input/-input","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema for physics-based simulation engines","type":"object","properties":{"input":{"title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}}}},{"$id":"workflow/unit/input/-inputItem","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$id":"workflow/unit/input/-inputItemId","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false},{"$id":"workflow/unit/input/-inputItemScope","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]},{"$id":"workflow/unit/input/-map-input/values","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit values schema","type":"object","properties":{"values":{"type":"string"}}},{"$id":"workflow/unit/input/-map-input","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit map input schema","type":"object","properties":{"target":{"type":"string"},"values":{"type":"array","items":{"oneOf":[{"type":"number"},{"type":"string"},{"type":"object"}]}},"useValues":{"type":"boolean"},"scope":{"type":"string"},"name":{"type":"string"}}},{"$id":"workflow/unit/io/api","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$id":"workflow/unit/io/db","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$id":"workflow/unit/io/object-storage","$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true},{"$id":"workflow/unit/io","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$id":"workflow/unit/map","$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]},{"$id":"workflow/unit/processing","$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]},{"$id":"workflow/unit/reduce","$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$id":"workflow/unit/runtime/-runtime-item-full-object","$schema":"http://json-schema.org/draft-07/schema#","title":"full result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. 'my_custom_property. '","type":"string"}},"required":["name"]},{"$id":"workflow/unit/runtime/-runtime-item-name-object","$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$id":"workflow/unit/runtime/-runtime-item-string","$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"},{"$id":"workflow/unit/runtime/runtime-item","$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]},{"$id":"workflow/unit/runtime/runtime-items","$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}},{"$id":"workflow/unit/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["subworkflow"]}}},{"$id":"workflow/unit","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["subworkflow"]}}}],"discriminator":{"propertyName":"type"},"required":["type"]},{"$id":"workflow","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}}}}],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]}],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","application"]}]}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}],"properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name"]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]}],"properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}}},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}}],"properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable runtime items in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema (pre-/post-processors, monitors, results","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"_id":{"type":"string"},"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}],"properties":{"type":{"enum":["subworkflow"]}}}],"discriminator":{"propertyName":"type"},"required":["type"]}}},"required":["units","subworkflows"]}]''') \ No newline at end of file +SCHEMAS = json.loads(r'''[{"$id":"apse/db/materials-project/2025.9.25/summary","$schema":"http://json-schema.org/draft-07/schema#","title":"Materials Project Schema","description":"JSON schema for Materials Project API summary endpoint response","type":"object","properties":{"builder_meta":{"type":"object","properties":{"emmet_version":{"type":"string","description":"Version of emmet library used"},"pymatgen_version":{"type":"string","description":"Version of pymatgen library used"},"run_id":{"type":"string","description":"Unique identifier for the calculation run"},"batch_id":{"type":["string","null"],"description":"Batch identifier for grouped calculations"},"database_version":{"type":"string","description":"Version of the Materials Project database"},"build_date":{"type":"string","format":"date-time","description":"Date when the calculation was performed"},"license":{"type":"string","description":"License information for the data"}},"required":["emmet_version","pymatgen_version","run_id","database_version","build_date","license"]},"nsites":{"type":"integer","description":"Number of sites in the structure"},"elements":{"type":"array","items":{"type":"string"},"description":"List of chemical elements in the material"},"nelements":{"type":"integer","description":"Number of unique elements"},"composition":{"type":"object","additionalProperties":{"type":"number"},"description":"Chemical composition as element: count mapping"},"composition_reduced":{"type":"object","additionalProperties":{"type":"number"},"description":"Reduced chemical composition"},"formula_pretty":{"type":"string","description":"Human-readable chemical formula"},"formula_anonymous":{"type":"string","description":"Anonymous chemical formula"},"chemsys":{"type":"string","description":"Chemical system identifier"},"volume":{"type":"number","description":"Unit cell volume in cubic Angstroms"},"density":{"type":"number","description":"Material density in g/cm³"},"density_atomic":{"type":"number","description":"Atomic density"},"symmetry":{"type":"object","properties":{"crystal_system":{"type":"string","description":"Crystal system classification"},"symbol":{"type":"string","description":"Space group symbol"},"hall":{"type":["string","null"],"description":"Hall symbol"},"number":{"type":"integer","description":"Space group number"},"point_group":{"type":"string","description":"Point group symbol"},"symprec":{"type":"number","description":"Symmetry precision tolerance"},"angle_tolerance":{"type":"number","description":"Angle tolerance for symmetry analysis"},"version":{"type":"string","description":"Version of symmetry analysis software"}},"required":["crystal_system","symbol","number","point_group","symprec","angle_tolerance","version"]},"material_id":{"type":"string","description":"Unique Materials Project identifier"},"deprecated":{"type":"boolean","description":"Whether this material entry is deprecated"},"deprecation_reasons":{"type":["array","null"],"items":{"type":"string"},"description":"Reasons for deprecation if applicable"},"last_updated":{"type":"string","format":"date-time","description":"Last update timestamp"},"origins":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Origin name (e.g., structure, energy, magnetism)"},"task_id":{"type":"string","description":"Task identifier for this origin"},"last_updated":{"type":"string","format":"date-time","description":"Last update for this origin"}},"required":["name","task_id","last_updated"]}},"warnings":{"type":"array","items":{"type":"string"},"description":"Warning messages"},"structure":{"type":"object","properties":{"@module":{"type":"string","description":"Python module name"},"@class":{"type":"string","description":"Python class name"},"charge":{"type":"number","description":"Total charge of the structure"},"lattice":{"type":"object","properties":{"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3,"description":"Lattice matrix"},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3,"description":"Periodic boundary conditions"},"a":{"type":"number","description":"Lattice parameter a"},"b":{"type":"number","description":"Lattice parameter b"},"c":{"type":"number","description":"Lattice parameter c"},"alpha":{"type":"number","description":"Lattice angle alpha"},"beta":{"type":"number","description":"Lattice angle beta"},"gamma":{"type":"number","description":"Lattice angle gamma"},"volume":{"type":"number","description":"Unit cell volume"}},"required":["matrix","pbc","a","b","c","alpha","beta","gamma","volume"]},"properties":{"type":"object","description":"Additional structure properties"},"sites":{"type":"array","items":{"type":"object","properties":{"species":{"type":"array","items":{"type":"object","properties":{"element":{"type":"string","description":"Chemical element"},"occu":{"type":"number","description":"Occupancy"}},"required":["element","occu"]}},"abc":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3,"description":"Fractional coordinates"},"properties":{"type":"object","properties":{"magmom":{"type":"number","description":"Magnetic moment"}}},"label":{"type":"string","description":"Site label"},"xyz":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3,"description":"Cartesian coordinates"}},"required":["species","abc","label","xyz"]}}},"required":["@module","@class","charge","lattice","properties","sites"]},"property_name":{"type":"string","description":"Name of the property endpoint"},"task_ids":{"type":"array","items":{"type":"string"},"description":"List of task identifiers"},"uncorrected_energy_per_atom":{"type":"number","description":"Uncorrected energy per atom in eV"},"energy_per_atom":{"type":"number","description":"Energy per atom in eV"},"formation_energy_per_atom":{"type":"number","description":"Formation energy per atom in eV"},"energy_above_hull":{"type":"number","description":"Energy above convex hull in eV"},"is_stable":{"type":"boolean","description":"Whether the material is thermodynamically stable"},"equilibrium_reaction_energy_per_atom":{"type":["number","null"],"description":"Equilibrium reaction energy per atom in eV"},"decomposes_to":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"material_id":{"type":"string","description":"Material ID of decomposition product"},"formula":{"type":"string","description":"Formula of decomposition product"},"amount":{"type":"number","description":"Amount of decomposition product"}},"required":["material_id","formula","amount"]}},{"type":"null"}]},"xas":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"edge":{"type":"string","description":"XAS edge type (K, L, M, etc.)"},"absorbing_element":{"type":"string","description":"Element for XAS absorption"},"spectrum_type":{"type":"string","description":"Type of XAS spectrum (XANES, EXAFS, XAFS)"}},"required":["edge","absorbing_element","spectrum_type"]}},{"type":"null"}]},"grain_boundaries":{"type":["object","null"],"description":"Grain boundary information"},"band_gap":{"type":"number","description":"Band gap in eV"},"cbm":{"type":["number","null"],"description":"Conduction band minimum in eV"},"vbm":{"type":["number","null"],"description":"Valence band maximum in eV"},"efermi":{"type":["number","null"],"description":"Fermi energy in eV"},"is_gap_direct":{"type":"boolean","description":"Whether the band gap is direct"},"is_metal":{"type":"boolean","description":"Whether the material is metallic"},"es_source_calc_id":{"type":["string","null"],"description":"Source calculation ID for electronic structure"},"bandstructure":{"oneOf":[{"type":"object","properties":{"setyawan_curtarolo":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]},"hinuma":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]},"latimer_munro":{"oneOf":[{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},{"type":"null"}]}}},{"type":"null"}]},"dos":{"oneOf":[{"type":"object","properties":{"total":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"elemental":{"type":"object","additionalProperties":{"type":"object","properties":{"total":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"s":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"p":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"d":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}}}}},"orbital":{"type":"object","properties":{"s":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"p":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}},"d":{"type":"object","additionalProperties":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}}}},"magnetic_ordering":{"type":"string","description":"Magnetic ordering type"}}},{"type":"null"}]},"dos_energy_up":{"type":["object","null"],"description":"Density of states for spin up"},"dos_energy_down":{"type":["object","null"],"description":"Density of states for spin down"},"is_magnetic":{"type":"boolean","description":"Whether the material is magnetic"},"ordering":{"type":"string","description":"Magnetic ordering"},"total_magnetization":{"type":"number","description":"Total magnetization"},"total_magnetization_normalized_vol":{"type":"number","description":"Volume-normalized magnetization"},"total_magnetization_normalized_formula_units":{"type":"number","description":"Formula unit normalized magnetization"},"num_magnetic_sites":{"type":"number","description":"Number of magnetic sites"},"num_unique_magnetic_sites":{"type":"number","description":"Number of unique magnetic sites"},"types_of_magnetic_species":{"type":"array","items":{"type":"string"},"description":"Types of magnetic species"},"bulk_modulus":{"oneOf":[{"type":"object","properties":{"voigt":{"type":"number","description":"Voigt bulk modulus in GPa"},"reuss":{"type":"number","description":"Reuss bulk modulus in GPa"},"vrh":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa"}},"required":["voigt","reuss","vrh"]},{"type":"null"}]},"shear_modulus":{"oneOf":[{"type":"object","properties":{"voigt":{"type":"number","description":"Voigt shear modulus in GPa"},"reuss":{"type":"number","description":"Reuss shear modulus in GPa"},"vrh":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa"}},"required":["voigt","reuss","vrh"]},{"type":"null"}]},"universal_anisotropy":{"oneOf":[{"type":"number"},{"type":"null"}],"description":"Universal anisotropy index"},"homogeneous_poisson":{"oneOf":[{"type":"number"},{"type":"null"}],"description":"Homogeneous Poisson ratio"},"e_total":{"type":["number","null"],"description":"Total energy"},"e_ionic":{"type":["number","null"],"description":"Ionic energy"},"e_electronic":{"type":["number","null"],"description":"Electronic energy"},"n":{"type":["number","null"],"description":"Refractive index"},"e_ij_max":{"type":["number","null"],"description":"Maximum elastic constant"},"weighted_surface_energy_EV_PER_ANG2":{"type":["number","null"],"description":"Weighted surface energy in eV/Ų"},"weighted_surface_energy":{"type":["number","null"],"description":"Weighted surface energy"},"weighted_work_function":{"type":["number","null"],"description":"Weighted work function"},"surface_anisotropy":{"type":["number","null"],"description":"Surface anisotropy"},"shape_factor":{"type":["number","null"],"description":"Shape factor"},"has_reconstructed":{"type":["boolean","null"],"description":"Whether surface has reconstruction"},"possible_species":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Possible ionic species"},"has_props":{"type":"object","properties":{"materials":{"type":"boolean"},"thermo":{"type":"boolean"},"xas":{"type":"boolean"},"grain_boundaries":{"type":"boolean"},"chemenv":{"type":"boolean"},"electronic_structure":{"type":"boolean"},"absorption":{"type":"boolean"},"bandstructure":{"type":"boolean"},"dos":{"type":"boolean"},"magnetism":{"type":"boolean"},"elasticity":{"type":"boolean"},"dielectric":{"type":"boolean"},"piezoelectric":{"type":"boolean"},"surface_properties":{"type":"boolean"},"oxi_states":{"type":"boolean"},"provenance":{"type":"boolean"},"charge_density":{"type":"boolean"},"eos":{"type":"boolean"},"phonon":{"type":"boolean"},"insertion_electrodes":{"type":"boolean"},"substrates":{"type":"boolean"}},"required":["materials","thermo","xas","grain_boundaries","chemenv","electronic_structure","absorption","bandstructure","dos","magnetism","elasticity","dielectric","piezoelectric","surface_properties","oxi_states","provenance","charge_density","eos","phonon","insertion_electrodes","substrates"]},"theoretical":{"type":"boolean","description":"Whether this is a theoretical material"},"database_IDs":{"type":"object","properties":{"icsd":{"type":"array","items":{"type":"string"},"description":"ICSD database identifiers"}}}},"required":["builder_meta","nsites","elements","nelements","composition","composition_reduced","formula_pretty","formula_anonymous","chemsys","volume","density","density_atomic","symmetry","material_id","deprecated","last_updated","origins","warnings","structure","property_name","task_ids","uncorrected_energy_per_atom","energy_per_atom","formation_energy_per_atom","energy_above_hull","is_stable","decomposes_to","xas","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","bandstructure","dos","is_magnetic","ordering","total_magnetization","total_magnetization_normalized_vol","total_magnetization_normalized_formula_units","num_magnetic_sites","num_unique_magnetic_sites","types_of_magnetic_species","bulk_modulus","shear_modulus","universal_anisotropy","homogeneous_poisson","possible_species","has_props","theoretical","database_IDs"],"definitions":{"bandstructure_data":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"vbm":{"oneOf":[{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},{"type":"null"}]},"efermi":{"type":["number","null"]},"is_gap_direct":{"type":"boolean"},"is_metal":{"type":"boolean"},"magnetic_ordering":{"type":"string"},"equivalent_labels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}},"nbands":{"type":"number"},"direct_gap":{"type":"number"}},"required":["task_id","band_gap","cbm","vbm","efermi","is_gap_direct","is_metal","magnetic_ordering","equivalent_labels","nbands","direct_gap"]},"band_extrema":{"type":"object","properties":{"band_index":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"kpoint_index":{"type":"array","items":{"type":"number"}},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"energy":{"type":"number"},"projections":{"type":"object","additionalProperties":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}},"required":["band_index","kpoint_index","kpoint","energy","projections"]},"kpoint":{"type":"object","properties":{"lattice":{"type":"object","properties":{"@module":{"type":"string"},"@class":{"type":"string"},"matrix":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"pbc":{"type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}},"required":["@module","@class","matrix","pbc"]},"fcoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"ccoords":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"label":{"type":["string","null"]},"@module":{"type":"string"},"@class":{"type":"string"}},"required":["lattice","fcoords","ccoords","label","@module","@class"]},"dos_data":{"type":"object","properties":{"task_id":{"type":"string"},"band_gap":{"type":"number"},"cbm":{"type":["number","null"]},"vbm":{"type":["number","null"]},"efermi":{"type":"number"},"spin_polarization":{"type":["number","null"]}},"required":["task_id","band_gap","cbm","vbm","efermi","spin_polarization"]}}},{"$id":"apse/db/materials-project/legacy/material","$schema":"http://json-schema.org/draft-07/schema#","title":"Materials Project Legacy Material schema","description":"JSON schema for Materials Project API legacy material endpoint response","type":"object","properties":{"energy":{"type":"number","description":"Total energy"},"energy_per_atom":{"type":"number","description":"Energy per atom"},"volume":{"type":"number","description":"Unit cell volume"},"formation_energy_per_atom":{"type":"number","description":"Formation energy per atom"},"nsites":{"type":"integer","description":"Number of sites in unit cell"},"unit_cell_formula":{"type":"object","description":"Unit cell formula as element counts","additionalProperties":{"type":"number"}},"pretty_formula":{"type":"string","description":"Pretty formatted chemical formula"},"is_hubbard":{"type":"boolean","description":"Whether Hubbard U correction was applied"},"elements":{"type":"array","description":"List of elements in the material","items":{"type":"string"}},"nelements":{"type":"integer","description":"Number of distinct elements"},"e_above_hull":{"type":["number","null"],"description":"Energy above convex hull"},"hubbards":{"type":"object","description":"Hubbard U values","additionalProperties":true},"is_compatible":{"type":"boolean","description":"Whether material is compatible"},"spacegroup":{"type":"object","description":"Spacegroup information","properties":{"symprec":{"type":"number"},"source":{"type":"string"},"symbol":{"type":"string"},"number":{"type":"integer"},"point_group":{"type":"string"},"crystal_system":{"type":"string"},"hall":{"type":"string"}}},"task_ids":{"type":"array","description":"List of task IDs","items":{"type":"string"}},"band_gap":{"type":"number","description":"Band gap value"},"density":{"type":"number","description":"Material density"},"icsd_id":{"type":["integer","null"],"description":"ICSD ID (single)"},"icsd_ids":{"type":"array","description":"List of ICSD IDs","items":{"type":"integer"}},"cif":{"type":"string","description":"CIF file content"},"total_magnetization":{"type":"number","description":"Total magnetization"},"material_id":{"type":"string","description":"Material ID from Materials Project"},"oxide_type":{"type":"string","description":"Oxide type classification"},"tags":{"type":"array","description":"Material tags/names","items":{"type":"string"}},"elasticity":{"type":["object","null"],"description":"Elasticity data","properties":{"G_Reuss":{"type":"number","description":"Reuss shear modulus in GPa"},"G_VRH":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa"},"G_Voigt":{"type":"number","description":"Voigt shear modulus in GPa"},"G_Voigt_Reuss_Hill":{"type":"number","description":"Voigt-Reuss-Hill shear modulus in GPa (alternative field)"},"K_Reuss":{"type":"number","description":"Reuss bulk modulus in GPa"},"K_VRH":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa"},"K_Voigt":{"type":"number","description":"Voigt bulk modulus in GPa"},"K_Voigt_Reuss_Hill":{"type":"number","description":"Voigt-Reuss-Hill bulk modulus in GPa (alternative field)"},"elastic_anisotropy":{"type":"number","description":"Elastic anisotropy"},"elastic_tensor":{"type":"array","description":"6x6 elastic tensor in GPa","items":{"type":"array","items":{"type":"number"}}},"homogeneous_poisson":{"type":"number","description":"Homogeneous Poisson ratio"},"poisson_ratio":{"type":"number","description":"Poisson ratio"},"universal_anisotropy":{"type":"number","description":"Universal elastic anisotropy"},"elastic_tensor_original":{"type":"array","description":"Original 6x6 elastic tensor in GPa","items":{"type":"array","items":{"type":"number"}}},"compliance_tensor":{"type":"array","description":"6x6 compliance tensor in GPa^-1","items":{"type":"array","items":{"type":"number"}}},"warnings":{"type":"array","description":"Warnings about elastic properties","items":{"type":"string"}},"nsites":{"type":"integer","description":"Number of sites in the structure"}}},"piezo":{"type":["object","null"],"description":"Piezoelectric data"},"diel":{"type":["object","null"],"description":"Dielectric data"},"deprecated":{"type":"boolean","description":"Whether material is deprecated"},"full_formula":{"type":"string","description":"Full chemical formula"}},"required":["material_id","energy","energy_per_atom","volume","formation_energy_per_atom","nsites","unit_cell_formula","pretty_formula","is_hubbard","elements","nelements","e_above_hull","hubbards","is_compatible","spacegroup","task_ids","band_gap","density","icsd_ids","cif","total_magnetization","oxide_type","tags","deprecated","full_formula"]},{"$id":"apse/db/nist-jarvis/2024.3.13/atoms","$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS Atoms schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","additionalProperties":false,"type":"object","properties":{"lattice_mat":{"type":"array","description":"Crystal lattice vectors as a 3x3 matrix, in Angstroms","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"coords":{"type":"array","description":"Atomic coordinates for each atom in the unit cell","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":1},"elements":{"type":"array","description":"Atomic elements for each atom in the unit cell in the same order as `coords`","items":{"type":"string"},"minItems":1},"abc":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"angles":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"cartesian":{"type":"boolean","description":"True if the coordinates are in Cartesian space, false if in fractional space"},"props":{"type":"array","items":{"type":"string"},"description":"Additional properties for each of the atoms"}}},{"$id":"apse/db/nist-jarvis/2024.3.13/db-entry","$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS db entry schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","additionalProperties":true,"type":"object","properties":{"atoms":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NIST JARVIS Atoms schema","description":"NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571","additionalProperties":false,"type":"object","properties":{"lattice_mat":{"type":"array","description":"Crystal lattice vectors as a 3x3 matrix, in Angstroms","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"coords":{"type":"array","description":"Atomic coordinates for each atom in the unit cell","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":1},"elements":{"type":"array","description":"Atomic elements for each atom in the unit cell in the same order as `coords`","items":{"type":"string"},"minItems":1},"abc":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"angles":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"cartesian":{"type":"boolean","description":"True if the coordinates are in Cartesian space, false if in fractional space"},"props":{"type":"array","items":{"type":"string"},"description":"Additional properties for each of the atoms"}}},"jid":{"type":"string","description":"The id of the entry in the database, e.g. JVASP-677"}}},{"$id":"apse/db/third-party-sources","$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]},{"$id":"apse/file/applications/espresso/7.2/pw.x/atomic-positions","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic positions schema","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom","crystal","crystal_sg"],"default":"alat"},"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}},"required":["x","y","z"]}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/atomic-species","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic species schema","type":"object","additionalProperties":false,"properties":{"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/cell","$schema":"http://json-schema.org/draft-07/schema#","title":"cell schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","sd","damp-pr","damp-w","bfgs"],"default":"bfgs","description":"CASE ( calculation == 'vc-relax' )"}}},{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","pr","w"],"description":"CASE ( calculation == 'vc-md' )"}}}],"properties":{"press":{"type":"number","description":"Target pressure [KBar] in a variable-cell md or relaxation run.","default":0},"wmass":{"type":"number","description":"Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD"},"cell_factor":{"type":"number","description":"Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise"},"press_conv_thr":{"type":"number","default":0.5,"description":"Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well)."},"cell_dofree":{"type":"string","enum":["all","ibrav","a","b","c","fixa","fixb","fixc","x","y","xy","xz","xyz","shape","volume","2Dxy","2Dshape","epitaxial_ab","epitaxial_ac","epitaxial_bc"],"default":"all","description":"Select which of the cell parameters should be moved"}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/cell-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"cell parameters schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom"],"description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"values":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/control","$schema":"http://json-schema.org/draft-07/schema#","title":"control schema","type":"object","additionalProperties":false,"properties":{"calculation":{"description":"A string describing the task to be performed","type":"string","enum":["scf","nscf","bands","relax","md","vc-relax","vc-md"],"default":"scf"},"title":{"description":"reprinted on output.","type":"string","default":""},"verbosity":{"description":"Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low'","type":"string","enum":["high","low","debug","medium","minimal","default"],"default":"low"},"restart_mode":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"wf_collect":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"nstep":{"description":"Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick \"dry run\", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform \"nstep\" steps even if restarting from a previously interrupted calculation.","type":"number","default":1},"iprint":{"description":"band energies are written every iprint iterations","type":"number"},"tstress":{"type":"boolean","default":false,"description":"calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax'"},"tprnfor":{"type":"boolean","description":"calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md'"},"dt":{"type":"number","description":"time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!)","default":20},"outdir":{"type":"string","description":"input, temporary, output files are found in this directory, see also wfcdir"},"wfcdir":{"type":"string","description":"This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x."},"prefix":{"type":"string","description":"prepended to input/output filenames: prefix.wfc, prefix.rho, etc.","default":"pwscf"},"lkpoint_dir":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"max_seconds":{"type":"number","default":10000000,"description":"Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues."},"etot_conv_thr":{"type":"number","default":0.0001,"description":"Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied"},"forc_conv_thr":{"type":"number","default":0.001,"description":"Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied"},"disk_io":{"type":"string","enum":["high","medium","low","nowf","none"],"description":"Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option )"},"pseudo_dir":{"type":"string","description":"directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise"},"tefield":{"type":"boolean","default":false,"description":"If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential."},"dipfield":{"type":"boolean","default":false,"description":"If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE."},"lelfield":{"type":"boolean","default":false,"description":"If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. !"},"nberrycyc":{"type":"integer","default":1,"description":"In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density"},"lorbm":{"type":"boolean","default":false,"description":"If .TRUE. perform orbital magnetization calculation."},"lberry":{"type":"boolean","default":false,"description":"If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation"},"gdir":{"type":"number","description":"For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) \"gdir\" is the direction of the field."},"nppstr":{"type":"number","description":"For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.)."},"gate":{"type":"boolean","default":false,"description":"In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called \"monopole\" in v6.0 and 6.1 of pw.x"},"twochem":{"type":"boolean","default":false,"description":"IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold."},"lfcp":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP."},"trism":{"type":"boolean","default":false,"description":"If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. ."}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/electrons","$schema":"http://json-schema.org/draft-07/schema#","title":"electrons schema","type":"object","additionalProperties":false,"properties":{"electron_maxstep":{"type":"integer","default":100,"description":"maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops."},"exx_maxstep":{"type":"integer","default":100,"description":"maximum number of outer iterations in a scf calculation with exact exchange."},"scf_must_converge":{"type":"boolean","default":true,"description":"If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care."},"conv_thr":{"type":"number"},"adaptive_thr":{"type":"boolean","default":false,"description":"If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX."},"conv_thr_init":{"type":"number","description":"When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle."},"conv_thr_multi":{"type":"number","description":"When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx )"},"mixing_mode":{"type":"string","enum":["plain","TF","local-TF"],"default":"plain"},"mixing_beta":{"type":"number","description":"mixing factor for self-consistency"},"mixing_ndim":{"type":"integer","default":8,"description":"number of iterations used in mixing scheme"},"mixing_fixed_ns":{"type":"integer","default":0,"description":"For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term )."},"diagonalization":{"type":"string","enum":["david","cg","ppcg","paro","ParO","rmm-davidson","rmm-paro"],"default":"david"},"diago_thr_init":{"type":"number","description":"Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence)."},"diago_cg_maxiter":{"type":"integer","description":"For conjugate gradient diagonalization: max number of iterations"},"diago_ppcg_maxiter":{"type":"integer","description":"For ppcg diagonalization: max number of iterations"},"diago_david_ndim":{"type":"integer","default":2,"description":"For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_ndim":{"type":"integer","default":4,"description":"For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_conv":{"type":"boolean","default":false,"description":"If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once."},"diago_gs_nblock":{"type":"integer","default":16,"description":"For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization"},"diago_full_acc":{"type":"boolean","default":false,"description":"If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties)."},"efield":{"type":"number","description":"Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic."},"efield_cart":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"efield_phase":{"type":"string","enum":["read","write","none"],"default":"none"},"startingpot":{"type":"string","enum":["atomic","file"]},"startingwfc":{"type":"string","enum":["atomic","atomic+random","random","file"],"default":"atomic+random"},"tqr":{"type":"boolean","default":false,"description":"If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing!"},"real_space":{"type":"boolean","default":false,"description":"If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing!"}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/hubbard","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["atomic","ortho-atomic","norm-atomic","wf","pseudo"]},"values":{"oneOf":[{"description":"IF DFT+U","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1764","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1784","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}}]}},{"description":"IF DFT+U+J","type":"array","items":{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1817","additionalProperties":false,"properties":{"paramType":{"type":"string","enum":["U","J","B","E2","E3"],"description":"character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals)"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"paramValue":{"type":"number","description":"value of the J0 parameter (in eV)"}}}},{"description":"IF DFT+U+V","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1847","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1865","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1884","additionalProperties":false,"properties":{"V":{"type":"string","enum":["V"],"description":"string constant \"V\"; indicates the specs for the V parameter will be given"},"label(I)":{"type":"string","description":"label of the atom I (as defined in ATOMIC_SPECIES)"},"manifold(I)":{"type":"string","description":"specs of the manifold for atom I (e.g., 3d, 2p...)"},"label(J)":{"type":"string","description":"label of the atom J (as defined in ATOMIC_SPECIES)"},"manifold(J)":{"type":"string","description":"specs of the manifold for atom J (e.g., 3d, 2p...)"},"I":{"type":"integer","description":"index of the atom I"},"J":{"type":"integer","description":"index of the atom J"},"v_val(I,J)":{"type":"number","description":"value of the V parameter for the atom pair I,J (in eV)"}}}]}}]}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/ions","$schema":"http://json-schema.org/draft-07/schema#","title":"ions schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp","fire"],"default":"bfgs","description":"CASE: calculation == 'relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["verlet","langevin","langevin-smc"],"default":"verlet","description":"CASE: calculation == 'md'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp"],"default":"bfgs","description":"CASE: calculation == 'vc-relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["beeman"],"default":"beeman","description":"CASE: calculation == 'vc-md'"}}}],"properties":{"ion_positions":{"type":"string","enum":["default","from_input"],"default":"default"},"ion_velocities":{"type":"string","enum":["default","from_input"],"default":"default"},"pot_extrapolation":{"type":"string","enum":["none","atomic","first_order","second_order"],"default":"atomic","description":"Used to extrapolate the potential from preceding ionic steps."},"wfc_extrapolation":{"type":"string","enum":["none","first_order","second_order"],"default":"none","description":"Used to extrapolate the wavefunctions from preceding ionic steps."},"remove_rigid_rot":{"type":"boolean","default":false,"description":"This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells."},"ion_temperature":{"type":"string","enum":["rescaling","rescale-v","rescale-T","reduce-T","berendsen","andersen","svr","initial","not_controlled"],"default":"not_controlled"},"tempw":{"type":"number","description":"Starting temperature (Kelvin) in MD runs target temperature for most thermostats.","default":300},"tolp":{"type":"number","description":"Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp.","default":100},"delta_t":{"type":"number","default":1},"nraise":{"type":"integer","default":1},"refold_pos":{"type":"boolean","default":false,"description":"This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell."},"upscale":{"type":"number","description":"Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale.","default":100},"bfgs_ndim":{"type":"integer","default":1,"description":"Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm."},"trust_radius_max":{"type":"number","description":"Maximum ionic displacement in the structural relaxation. (bfgs only)","default":0.8},"trust_radius_min":{"type":"number","description":"Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only)","default":0.001},"trust_radius_ini":{"type":"number","description":"Initial ionic displacement in the structural relaxation. (bfgs only)","default":0.5},"w_1":{"type":"number","default":0.01},"w_2":{"type":"number","description":"Parameters used in line search based on the Wolfe conditions. (bfgs only)","default":0.5},"fire_alpha_init":{"type":"number","description":"Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3","default":0.2},"fire_falpha":{"type":"number","description":"Scaling of the alpha mixing parameter for steps with P > 0;","default":0.99},"fire_nmin":{"type":"integer","default":5,"description":"Minimum number of steps with P > 0 before increase of dt"},"fire_f_inc":{"type":"number","description":"Factor for increasing dt","default":1.1},"fire_f_dec":{"type":"number","description":"Factor for decreasing dt","default":0.5},"fire_dtmax":{"type":"number","description":"Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt","default":10}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/k-points","$schema":"http://json-schema.org/draft-07/schema#","title":"k points schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["tpiba","automatic","crystal","gamma","tpiba_b","crystal_b","tpiba_c","crystal_c"]},"values":{"oneOf":[{"type":"array","description":"K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c","items":{"type":"object","additionalProperties":false,"properties":{"nks":{"type":"integer","description":"Number of supplied special k-points."},"xk_x":{"type":"number"},"xk_y":{"type":"number"},"xk_z":{"type":"number"},"wk":{"type":"number"}}}},{"type":"object","description":"K_POINTS automatic","additionalProperties":false,"properties":{"nk1":{"type":"integer","description":"Number of supplied special k-points."},"nk2":{"type":"integer","description":"Number of supplied special k-points."},"nk3":{"type":"integer","description":"Number of supplied special k-points."},"sk1":{"type":"integer","description":"Number of supplied special k-points."},"sk2":{"type":"integer","description":"Number of supplied special k-points."},"sk3":{"type":"integer","description":"Number of supplied special k-points."}}},{"type":"null","description":"K_POINTS gamma"}]}}},{"$id":"apse/file/applications/espresso/7.2/pw.x/system","$schema":"http://json-schema.org/draft-07/schema#","title":"system schema","type":"object","additionalProperties":false,"anyOf":[{"properties":{"celldm":{"type":"array","items":{"type":"number"},"minItems":6,"maxItems":6}}},{"properties":{"A":{"type":"number"},"B":{"type":"number"},"C":{"type":"number"},"cosAB":{"type":"number"},"cosAC":{"type":"number"},"cosBC":{"type":"number"}}}],"properties":{"ibrav":{"type":"integer"},"nat":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"ntyp":{"type":"integer","description":"number of types of atoms in the unit cell"},"nbnd":{"type":"integer","description":"Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)"},"nbnd_cond":{"type":"integer","description":"Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case."},"tot_charge":{"type":"number","default":0},"starting_charge":{"type":"number","default":0,"description":"starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'."},"tot_magnetization":{"type":"number","default":-10000,"description":"Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle."},"starting_magnetization":{"type":"array","items":{"type":"number","default":0,"minimum":-1,"maximum":1}},"ecutwfc":{"type":"number","description":"kinetic energy cutoff (Ry) for wavefunctions"},"ecutrho":{"type":"number","description":"Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc"},"ecutfock":{"type":"number","description":"Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials."},"nr1":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr2":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr3":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr1s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr2s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr3s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nosym":{"type":"boolean","default":false},"nosym_evc":{"type":"boolean","default":false},"noinv":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation"},"no_t_rev":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal."},"force_symmorphic":{"type":"boolean","default":false,"description":"if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation"},"use_all_frac":{"type":"boolean","default":false},"occupations":{"type":"string","enum":["smearing","tetrahedra","tetrahedra_lin","tetrahedra_opt","fixed","from_input"]},"one_atom_occupations":{"type":"boolean","default":false},"starting_spin_angle":{"type":"boolean","default":false},"degauss_cond":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.)."},"nelec_cond":{"type":"number","default":0,"description":"Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold."},"degauss":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in metals."},"smearing":{"type":"string","enum":["gaussian","gauss","methfessel-paxton","m-p","mp","marzari-vanderbilt","cold","m-v","mv","fermi-dirac","f-d","fd"],"default":"gaussian"},"nspin":{"type":"integer","default":1},"sic_gamma":{"type":"number","default":0,"description":"Strength of the gammaDFT potential."},"pol_type":{"type":"string","enum":["e","h"],"description":"Type of polaron in gammaDFT."},"sic_energy":{"type":"boolean","default":false,"description":"Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost."},"sci_vb":{"type":"number","default":0,"description":"Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"sci_cb":{"type":"number","default":0,"description":"Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"noncolin":{"type":"boolean","default":false,"description":"if .true. the program will perform a noncollinear calculation."},"ecfixed":{"type":"number","default":0},"qcutz":{"type":"number","default":0},"q2sigma":{"type":"number","default":0.1},"input_dft":{"type":"string","description":"Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!"},"ace":{"type":"boolean","default":true,"description":"Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092"},"exx_fraction":{"type":"number","description":"Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20."},"screening_parameter":{"type":"number","default":0.106,"description":"screening_parameter for HSE like hybrid functionals."},"exxdiv_treatment":{"type":"string","default":"gygi-baldereschi","enum":["gygi-baldereschi","vcut_spherical","vcut_ws","none"]},"x_gamma_extrapolation":{"type":"boolean","default":true,"description":"Specific for EXX. If .true., extrapolate the G=0 term of the potential"},"ecutvcut":{"type":"number","description":"Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors."},"nqx1":{"type":"integer","default":0,"description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx2":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx3":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"localization_thr":{"type":"number","default":0,"description":"Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation"},"Hubbard_occ":{"type":"array","items":{"type":"array","items":[{"type":"integer","minimum":1},{"type":"integer","minimum":1,"maximum":3},{"type":"number"}],"minItems":3,"maxItems":3}},"Hubbard_alpha":{"type":"array","items":{"type":"number","default":0}},"Hubbard_beta":{"type":"array","items":{"type":"number","default":0}},"starting_ns_eigenvalue":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"dmft":{"type":"boolean","default":false,"description":"If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1."},"dmft_prefix":{"type":"string","description":"prepended to hdf5 archive: dmft_prefix.h5"},"ensemble_energies":{"type":"boolean","default":false,"description":"If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation."},"edir":{"type":"integer","description":"The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE."},"emaxpos":{"type":"number","default":0.5,"description":"Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE."},"eopreg":{"type":"number","default":0.1,"description":"Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE."},"eamp":{"type":"number","default":0.001},"angle1":{"type":"array","items":{"type":"number"},"maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types."},"angle2":{"type":"array","items":{"type":"number"},"maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only."},"lforcet":{"type":"boolean","description":"When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1"},"constrained_magnetization":{"type":"string","enum":["none","total","atomic","total direction","atomic direction"],"default":"none","description":"Used to perform constrained calculations in magnetic systems."},"fixed_magnetization":{"type":"array","items":{"type":"number","default":0},"maxItems":3,"minItems":3},"lambda":{"type":"number","default":1,"description":"parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda"},"report":{"type":"integer","default":-1,"description":"determines when atomic magnetic moments are printed on output"},"lspinorb":{"type":"boolean","description":"if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit."},"assume_isolated":{"type":"string","enum":["none","makov-payne","m-p","mp","martyna-tuckerman","m-t","mt","esm","2D"],"default":"none","description":"Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)"},"esm_bc":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"esm_w":{"type":"number","default":0,"description":"If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] )."},"esm_efield":{"type":"number","default":0,"description":"If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes."},"esm_nfit":{"type":"integer","default":4,"description":"If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge."},"lgcscf":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF."},"gcscf_mu":{"type":"number","description":"The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge"},"gcscf_conv_thr":{"type":"number","default":0.01,"description":"Convergence threshold of Fermi energy (eV) for GC-SCF."},"gcscf_beta":{"type":"number","default":0.05,"description":"Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite."},"vdw_corr":{"type":"string","enum":["none","grimme-d2","Grimme-D2","DFT-D","dft-d","grimme-d3","Grimme-D3","DFT-D3","dft-d3","TS","ts","ts-vdw","ts-vdW","tkatchenko-scheffler","MBD","mbd","many-body-dispersion","mbd_vdw","XDM","xdm"],"default":"none","description":"Type of Van der Waals correction"},"london":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='DFT-D'"},"london_s6":{"type":"number","default":0.75,"description":"global scaling parameter for DFT-D. Default is good for PBE."},"london_c6":{"type":"number","description":"atomic C6 coefficient of each atom type"},"london_rvdw":{"type":"number","description":"atomic vdw radii of each atom type"},"london_rcut":{"type":"number","default":200,"description":"cutoff radius (a.u.) for dispersion interactions"},"dftd3_version":{"type":"integer","default":3,"minimum":2,"maximum":6,"description":"Version of Grimme implementation of Grimme-D3"},"dftd3_threebody":{"type":"boolean","default":true,"description":"Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled."},"ts_vdw_econv_thr":{"type":"number","default":0.000001,"description":"Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it"},"ts_vdw_isolated":{"type":"boolean","default":false,"description":"Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system."},"xdm":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='xdm'"},"xdm_a1":{"type":"number","default":0.6836,"description":"Damping function parameter a1 (adimensional)"},"xdm_a2":{"type":"number","default":1.5045,"description":"Damping function parameter a2 (angstrom)"},"space_group":{"type":"integer","default":0,"description":"The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)"},"uniqueb":{"type":"boolean","default":false,"description":"Used only for monoclinic lattices"},"origin_choice":{"type":"integer","default":1,"description":"Used only for space groups that in the ITA allow the use of two different origins"},"rhombohedral":{"type":"boolean","default":true,"description":"Used only for rhombohedral space groups."},"zgate":{"type":"number","default":0.5,"description":"used only if gate = .TRUE."},"relaxz":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block_1":{"type":"number","default":0.45,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_2":{"type":"number","default":0.55,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_height":{"type":"number","default":0.1,"description":"used only if gate = .TRUE. and block = .TRUE."},"nextffield":{"type":"integer","default":0,"description":"Number of activated external ionic force fields."}},"required":["ibrav","nat","ntyp","ecutwfc"]},{"$id":"apse/file/applications/espresso/7.2/pw.x","$schema":"http://json-schema.org/draft-07/schema#","title":"pwx main schema","additionalProperties":false,"type":"object","properties":{"&CONTROL":{"$schema":"http://json-schema.org/draft-07/schema#","title":"control schema","type":"object","additionalProperties":false,"properties":{"calculation":{"description":"A string describing the task to be performed","type":"string","enum":["scf","nscf","bands","relax","md","vc-relax","vc-md"],"default":"scf"},"title":{"description":"reprinted on output.","type":"string","default":""},"verbosity":{"description":"Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low'","type":"string","enum":["high","low","debug","medium","minimal","default"],"default":"low"},"restart_mode":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"wf_collect":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"nstep":{"description":"Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick \"dry run\", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform \"nstep\" steps even if restarting from a previously interrupted calculation.","type":"number","default":1},"iprint":{"description":"band energies are written every iprint iterations","type":"number"},"tstress":{"type":"boolean","default":false,"description":"calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax'"},"tprnfor":{"type":"boolean","description":"calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md'"},"dt":{"type":"number","description":"time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!)","default":20},"outdir":{"type":"string","description":"input, temporary, output files are found in this directory, see also wfcdir"},"wfcdir":{"type":"string","description":"This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x."},"prefix":{"type":"string","description":"prepended to input/output filenames: prefix.wfc, prefix.rho, etc.","default":"pwscf"},"lkpoint_dir":{"type":"boolean","description":"OBSOLETE - NO LONGER IMPLEMENTED"},"max_seconds":{"type":"number","default":10000000,"description":"Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues."},"etot_conv_thr":{"type":"number","default":0.0001,"description":"Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied"},"forc_conv_thr":{"type":"number","default":0.001,"description":"Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied"},"disk_io":{"type":"string","enum":["high","medium","low","nowf","none"],"description":"Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option )"},"pseudo_dir":{"type":"string","description":"directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise"},"tefield":{"type":"boolean","default":false,"description":"If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential."},"dipfield":{"type":"boolean","default":false,"description":"If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE."},"lelfield":{"type":"boolean","default":false,"description":"If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. !"},"nberrycyc":{"type":"integer","default":1,"description":"In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density"},"lorbm":{"type":"boolean","default":false,"description":"If .TRUE. perform orbital magnetization calculation."},"lberry":{"type":"boolean","default":false,"description":"If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation"},"gdir":{"type":"number","description":"For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) \"gdir\" is the direction of the field."},"nppstr":{"type":"number","description":"For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.)."},"gate":{"type":"boolean","default":false,"description":"In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called \"monopole\" in v6.0 and 6.1 of pw.x"},"twochem":{"type":"boolean","default":false,"description":"IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold."},"lfcp":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP."},"trism":{"type":"boolean","default":false,"description":"If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. ."}}},"&SYSTEM":{"$schema":"http://json-schema.org/draft-07/schema#","title":"system schema","type":"object","additionalProperties":false,"anyOf":[{"properties":{"celldm":{"type":"array","items":{"type":"number"},"minItems":6,"maxItems":6}}},{"properties":{"A":{"type":"number"},"B":{"type":"number"},"C":{"type":"number"},"cosAB":{"type":"number"},"cosAC":{"type":"number"},"cosBC":{"type":"number"}}}],"properties":{"ibrav":{"type":"integer"},"nat":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"ntyp":{"type":"integer","description":"number of types of atoms in the unit cell"},"nbnd":{"type":"integer","description":"Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)"},"nbnd_cond":{"type":"integer","description":"Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case."},"tot_charge":{"type":"number","default":0},"starting_charge":{"type":"number","default":0,"description":"starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'."},"tot_magnetization":{"type":"number","default":-10000,"description":"Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle."},"starting_magnetization":{"type":"array","items":{"type":"number","default":0,"minimum":-1,"maximum":1}},"ecutwfc":{"type":"number","description":"kinetic energy cutoff (Ry) for wavefunctions"},"ecutrho":{"type":"number","description":"Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc"},"ecutfock":{"type":"number","description":"Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials."},"nr1":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr2":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr3":{"type":"integer","description":"Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)"},"nr1s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr2s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nr3s":{"type":"integer","description":"Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )"},"nosym":{"type":"boolean","default":false},"nosym_evc":{"type":"boolean","default":false},"noinv":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation"},"no_t_rev":{"type":"boolean","default":false,"description":"if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal."},"force_symmorphic":{"type":"boolean","default":false,"description":"if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation"},"use_all_frac":{"type":"boolean","default":false},"occupations":{"type":"string","enum":["smearing","tetrahedra","tetrahedra_lin","tetrahedra_opt","fixed","from_input"]},"one_atom_occupations":{"type":"boolean","default":false},"starting_spin_angle":{"type":"boolean","default":false},"degauss_cond":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.)."},"nelec_cond":{"type":"number","default":0,"description":"Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold."},"degauss":{"type":"number","default":0,"description":"value of the gaussian spreading (Ry) for brillouin-zone integration in metals."},"smearing":{"type":"string","enum":["gaussian","gauss","methfessel-paxton","m-p","mp","marzari-vanderbilt","cold","m-v","mv","fermi-dirac","f-d","fd"],"default":"gaussian"},"nspin":{"type":"integer","default":1},"sic_gamma":{"type":"number","default":0,"description":"Strength of the gammaDFT potential."},"pol_type":{"type":"string","enum":["e","h"],"description":"Type of polaron in gammaDFT."},"sic_energy":{"type":"boolean","default":false,"description":"Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost."},"sci_vb":{"type":"number","default":0,"description":"Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"sci_cb":{"type":"number","default":0,"description":"Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted."},"noncolin":{"type":"boolean","default":false,"description":"if .true. the program will perform a noncollinear calculation."},"ecfixed":{"type":"number","default":0},"qcutz":{"type":"number","default":0},"q2sigma":{"type":"number","default":0.1},"input_dft":{"type":"string","description":"Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!"},"ace":{"type":"boolean","default":true,"description":"Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092"},"exx_fraction":{"type":"number","description":"Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20."},"screening_parameter":{"type":"number","default":0.106,"description":"screening_parameter for HSE like hybrid functionals."},"exxdiv_treatment":{"type":"string","default":"gygi-baldereschi","enum":["gygi-baldereschi","vcut_spherical","vcut_ws","none"]},"x_gamma_extrapolation":{"type":"boolean","default":true,"description":"Specific for EXX. If .true., extrapolate the G=0 term of the potential"},"ecutvcut":{"type":"number","description":"Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors."},"nqx1":{"type":"integer","default":0,"description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx2":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"nqx3":{"type":"integer","description":"Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points."},"localization_thr":{"type":"number","default":0,"description":"Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation"},"Hubbard_occ":{"type":"array","items":{"type":"array","items":[{"type":"integer","minimum":1},{"type":"integer","minimum":1,"maximum":3},{"type":"number"}],"minItems":3,"maxItems":3}},"Hubbard_alpha":{"type":"array","items":{"type":"number","default":0}},"Hubbard_beta":{"type":"array","items":{"type":"number","default":0}},"starting_ns_eigenvalue":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"dmft":{"type":"boolean","default":false,"description":"If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1."},"dmft_prefix":{"type":"string","description":"prepended to hdf5 archive: dmft_prefix.h5"},"ensemble_energies":{"type":"boolean","default":false,"description":"If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation."},"edir":{"type":"integer","description":"The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE."},"emaxpos":{"type":"number","default":0.5,"description":"Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE."},"eopreg":{"type":"number","default":0.1,"description":"Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE."},"eamp":{"type":"number","default":0.001},"angle1":{"type":"array","items":{"type":"number"},"maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types."},"angle2":{"type":"array","items":{"type":"number"},"maxItems":1,"minItems":1,"description":"The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only."},"lforcet":{"type":"boolean","description":"When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1"},"constrained_magnetization":{"type":"string","enum":["none","total","atomic","total direction","atomic direction"],"default":"none","description":"Used to perform constrained calculations in magnetic systems."},"fixed_magnetization":{"type":"array","items":{"type":"number","default":0},"maxItems":3,"minItems":3},"lambda":{"type":"number","default":1,"description":"parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda"},"report":{"type":"integer","default":-1,"description":"determines when atomic magnetic moments are printed on output"},"lspinorb":{"type":"boolean","description":"if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit."},"assume_isolated":{"type":"string","enum":["none","makov-payne","m-p","mp","martyna-tuckerman","m-t","mt","esm","2D"],"default":"none","description":"Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)"},"esm_bc":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"esm_w":{"type":"number","default":0,"description":"If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] )."},"esm_efield":{"type":"number","default":0,"description":"If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes."},"esm_nfit":{"type":"integer","default":4,"description":"If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge."},"lgcscf":{"type":"boolean","default":false,"description":"If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF."},"gcscf_mu":{"type":"number","description":"The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge"},"gcscf_conv_thr":{"type":"number","default":0.01,"description":"Convergence threshold of Fermi energy (eV) for GC-SCF."},"gcscf_beta":{"type":"number","default":0.05,"description":"Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite."},"vdw_corr":{"type":"string","enum":["none","grimme-d2","Grimme-D2","DFT-D","dft-d","grimme-d3","Grimme-D3","DFT-D3","dft-d3","TS","ts","ts-vdw","ts-vdW","tkatchenko-scheffler","MBD","mbd","many-body-dispersion","mbd_vdw","XDM","xdm"],"default":"none","description":"Type of Van der Waals correction"},"london":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='DFT-D'"},"london_s6":{"type":"number","default":0.75,"description":"global scaling parameter for DFT-D. Default is good for PBE."},"london_c6":{"type":"number","description":"atomic C6 coefficient of each atom type"},"london_rvdw":{"type":"number","description":"atomic vdw radii of each atom type"},"london_rcut":{"type":"number","default":200,"description":"cutoff radius (a.u.) for dispersion interactions"},"dftd3_version":{"type":"integer","default":3,"minimum":2,"maximum":6,"description":"Version of Grimme implementation of Grimme-D3"},"dftd3_threebody":{"type":"boolean","default":true,"description":"Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled."},"ts_vdw_econv_thr":{"type":"number","default":0.000001,"description":"Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it"},"ts_vdw_isolated":{"type":"boolean","default":false,"description":"Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system."},"xdm":{"type":"boolean","default":false,"description":"OBSOLESCENT, same as vdw_corr='xdm'"},"xdm_a1":{"type":"number","default":0.6836,"description":"Damping function parameter a1 (adimensional)"},"xdm_a2":{"type":"number","default":1.5045,"description":"Damping function parameter a2 (angstrom)"},"space_group":{"type":"integer","default":0,"description":"The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)"},"uniqueb":{"type":"boolean","default":false,"description":"Used only for monoclinic lattices"},"origin_choice":{"type":"integer","default":1,"description":"Used only for space groups that in the ITA allow the use of two different origins"},"rhombohedral":{"type":"boolean","default":true,"description":"Used only for rhombohedral space groups."},"zgate":{"type":"number","default":0.5,"description":"used only if gate = .TRUE."},"relaxz":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block":{"type":"boolean","default":false,"description":"used only if gate = .TRUE."},"block_1":{"type":"number","default":0.45,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_2":{"type":"number","default":0.55,"description":"used only if gate = .TRUE. and block = .TRUE."},"block_height":{"type":"number","default":0.1,"description":"used only if gate = .TRUE. and block = .TRUE."},"nextffield":{"type":"integer","default":0,"description":"Number of activated external ionic force fields."}},"required":["ibrav","nat","ntyp","ecutwfc"]},"&ELECTRONS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"electrons schema","type":"object","additionalProperties":false,"properties":{"electron_maxstep":{"type":"integer","default":100,"description":"maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops."},"exx_maxstep":{"type":"integer","default":100,"description":"maximum number of outer iterations in a scf calculation with exact exchange."},"scf_must_converge":{"type":"boolean","default":true,"description":"If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care."},"conv_thr":{"type":"number"},"adaptive_thr":{"type":"boolean","default":false,"description":"If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX."},"conv_thr_init":{"type":"number","description":"When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle."},"conv_thr_multi":{"type":"number","description":"When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx )"},"mixing_mode":{"type":"string","enum":["plain","TF","local-TF"],"default":"plain"},"mixing_beta":{"type":"number","description":"mixing factor for self-consistency"},"mixing_ndim":{"type":"integer","default":8,"description":"number of iterations used in mixing scheme"},"mixing_fixed_ns":{"type":"integer","default":0,"description":"For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term )."},"diagonalization":{"type":"string","enum":["david","cg","ppcg","paro","ParO","rmm-davidson","rmm-paro"],"default":"david"},"diago_thr_init":{"type":"number","description":"Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence)."},"diago_cg_maxiter":{"type":"integer","description":"For conjugate gradient diagonalization: max number of iterations"},"diago_ppcg_maxiter":{"type":"integer","description":"For ppcg diagonalization: max number of iterations"},"diago_david_ndim":{"type":"integer","default":2,"description":"For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_ndim":{"type":"integer","default":4,"description":"For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)."},"diago_rmm_conv":{"type":"boolean","default":false,"description":"If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once."},"diago_gs_nblock":{"type":"integer","default":16,"description":"For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization"},"diago_full_acc":{"type":"boolean","default":false,"description":"If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties)."},"efield":{"type":"number","description":"Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic."},"efield_cart":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"efield_phase":{"type":"string","enum":["read","write","none"],"default":"none"},"startingpot":{"type":"string","enum":["atomic","file"]},"startingwfc":{"type":"string","enum":["atomic","atomic+random","random","file"],"default":"atomic+random"},"tqr":{"type":"boolean","default":false,"description":"If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing!"},"real_space":{"type":"boolean","default":false,"description":"If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing!"}}},"&IONS":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"ions schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp","fire"],"default":"bfgs","description":"CASE: calculation == 'relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["verlet","langevin","langevin-smc"],"default":"verlet","description":"CASE: calculation == 'md'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["bfgs","damp"],"default":"bfgs","description":"CASE: calculation == 'vc-relax'"}}},{"type":"object","additionalProperties":false,"properties":{"ion_dynamics":{"type":"string","enum":["beeman"],"default":"beeman","description":"CASE: calculation == 'vc-md'"}}}],"properties":{"ion_positions":{"type":"string","enum":["default","from_input"],"default":"default"},"ion_velocities":{"type":"string","enum":["default","from_input"],"default":"default"},"pot_extrapolation":{"type":"string","enum":["none","atomic","first_order","second_order"],"default":"atomic","description":"Used to extrapolate the potential from preceding ionic steps."},"wfc_extrapolation":{"type":"string","enum":["none","first_order","second_order"],"default":"none","description":"Used to extrapolate the wavefunctions from preceding ionic steps."},"remove_rigid_rot":{"type":"boolean","default":false,"description":"This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells."},"ion_temperature":{"type":"string","enum":["rescaling","rescale-v","rescale-T","reduce-T","berendsen","andersen","svr","initial","not_controlled"],"default":"not_controlled"},"tempw":{"type":"number","description":"Starting temperature (Kelvin) in MD runs target temperature for most thermostats.","default":300},"tolp":{"type":"number","description":"Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp.","default":100},"delta_t":{"type":"number","default":1},"nraise":{"type":"integer","default":1},"refold_pos":{"type":"boolean","default":false,"description":"This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell."},"upscale":{"type":"number","description":"Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale.","default":100},"bfgs_ndim":{"type":"integer","default":1,"description":"Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm."},"trust_radius_max":{"type":"number","description":"Maximum ionic displacement in the structural relaxation. (bfgs only)","default":0.8},"trust_radius_min":{"type":"number","description":"Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only)","default":0.001},"trust_radius_ini":{"type":"number","description":"Initial ionic displacement in the structural relaxation. (bfgs only)","default":0.5},"w_1":{"type":"number","default":0.01},"w_2":{"type":"number","description":"Parameters used in line search based on the Wolfe conditions. (bfgs only)","default":0.5},"fire_alpha_init":{"type":"number","description":"Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3","default":0.2},"fire_falpha":{"type":"number","description":"Scaling of the alpha mixing parameter for steps with P > 0;","default":0.99},"fire_nmin":{"type":"integer","default":5,"description":"Minimum number of steps with P > 0 before increase of dt"},"fire_f_inc":{"type":"number","description":"Factor for increasing dt","default":1.1},"fire_f_dec":{"type":"number","description":"Factor for decreasing dt","default":0.5},"fire_dtmax":{"type":"number","description":"Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt","default":10}}},{"type":"null"}]},"&CELL":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"cell schema","type":"object","additionalProperties":false,"oneOf":[{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","sd","damp-pr","damp-w","bfgs"],"default":"bfgs","description":"CASE ( calculation == 'vc-relax' )"}}},{"type":"object","additionalProperties":false,"properties":{"cell_dynamics":{"type":"string","enum":["none","pr","w"],"description":"CASE ( calculation == 'vc-md' )"}}}],"properties":{"press":{"type":"number","description":"Target pressure [KBar] in a variable-cell md or relaxation run.","default":0},"wmass":{"type":"number","description":"Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD"},"cell_factor":{"type":"number","description":"Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise"},"press_conv_thr":{"type":"number","default":0.5,"description":"Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well)."},"cell_dofree":{"type":"string","enum":["all","ibrav","a","b","c","fixa","fixb","fixc","x","y","xy","xz","xyz","shape","volume","2Dxy","2Dshape","epitaxial_ab","epitaxial_ac","epitaxial_bc"],"default":"all","description":"Select which of the cell parameters should be moved"}}},{"type":"null"}]},"ATOMIC_SPECIES":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic species schema","type":"object","additionalProperties":false,"properties":{"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}}}},"ATOMIC_POSITIONS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic positions schema","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom","crystal","crystal_sg"],"default":"alat"},"values":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}},"required":["x","y","z"]}}}},"K_POINTS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"k points schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["tpiba","automatic","crystal","gamma","tpiba_b","crystal_b","tpiba_c","crystal_c"]},"values":{"oneOf":[{"type":"array","description":"K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c","items":{"type":"object","additionalProperties":false,"properties":{"nks":{"type":"integer","description":"Number of supplied special k-points."},"xk_x":{"type":"number"},"xk_y":{"type":"number"},"xk_z":{"type":"number"},"wk":{"type":"number"}}}},{"type":"object","description":"K_POINTS automatic","additionalProperties":false,"properties":{"nk1":{"type":"integer","description":"Number of supplied special k-points."},"nk2":{"type":"integer","description":"Number of supplied special k-points."},"nk3":{"type":"integer","description":"Number of supplied special k-points."},"sk1":{"type":"integer","description":"Number of supplied special k-points."},"sk2":{"type":"integer","description":"Number of supplied special k-points."},"sk3":{"type":"integer","description":"Number of supplied special k-points."}}},{"type":"null","description":"K_POINTS gamma"}]}}},"CELL_PARAMETERS":{"$schema":"http://json-schema.org/draft-07/schema#","title":"cell parameters schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["alat","bohr","angstrom"],"description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"values":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}},"HUBBARD":{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard schema","type":"object","additionalProperties":false,"properties":{"card_option":{"type":"string","enum":["atomic","ortho-atomic","norm-atomic","wf","pseudo"]},"values":{"oneOf":[{"description":"IF DFT+U","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1764","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1784","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}}]}},{"description":"IF DFT+U+J","type":"array","items":{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1817","additionalProperties":false,"properties":{"paramType":{"type":"string","enum":["U","J","B","E2","E3"],"description":"character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals)"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"paramValue":{"type":"number","description":"value of the J0 parameter (in eV)"}}}},{"description":"IF DFT+U+V","type":"array","items":{"oneOf":[{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1847","additionalProperties":false,"properties":{"U":{"type":"string","enum":["U"],"description":"string constant \"U\"; indicates the specs for the U parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"u_val":{"type":"number","description":"value of the U parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1865","additionalProperties":false,"properties":{"J0":{"type":"string","enum":["J0"],"description":"string constant \"J0\"; indicates the specs for the J0 parameter will be given"},"label":{"type":"string","description":"label of the atom (as defined in ATOMIC_SPECIES)"},"manifold":{"type":"string","description":"specs of the manifold (e.g., 3d, 2p...)"},"j0_val":{"type":"number","description":"value of the J0 parameter (in eV)"}}},{"type":"object","description":"https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1884","additionalProperties":false,"properties":{"V":{"type":"string","enum":["V"],"description":"string constant \"V\"; indicates the specs for the V parameter will be given"},"label(I)":{"type":"string","description":"label of the atom I (as defined in ATOMIC_SPECIES)"},"manifold(I)":{"type":"string","description":"specs of the manifold for atom I (e.g., 3d, 2p...)"},"label(J)":{"type":"string","description":"label of the atom J (as defined in ATOMIC_SPECIES)"},"manifold(J)":{"type":"string","description":"specs of the manifold for atom J (e.g., 3d, 2p...)"},"I":{"type":"integer","description":"index of the atom I"},"J":{"type":"integer","description":"index of the atom J"},"v_val(I,J)":{"type":"number","description":"value of the V parameter for the atom pair I,J (in eV)"}}}]}}]}}}}},{"$id":"apse/materials/builders/slab/pymatgen/parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"Pymatgen Slab Generator Parameters Schema","description":"Parameters for the Pymatgen slab generator. https://github.com/materialsproject/pymatgen/blob/585bb673c4aa222669c4b0d72ffeec3dbf092630/pymatgen/core/surface.py#L1187","type":"object","properties":{"min_vacuum_size":{"description":"Minimum size of the vacuum in layers or angstroms","type":["integer","number"],"minimum":0,"default":0},"in_unit_planes":{"description":"Whether to use unit planes for the vacuum and slab size","type":"boolean","default":true},"reorient_lattice":{"description":"Whether to reorient the lattice to have c vector along the z-axis","type":"boolean","default":true},"symmetrize":{"description":"Whether to symmetrize the slab","type":"boolean","default":true}}},{"$id":"context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"context provider schema","type":"object","properties":{"name":{"type":"string","enum":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"],"tsEnumNames":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"]},"domain":{"description":"domain of the context provider","type":"string"},"entityName":{"description":"entity name associated with the context provider","type":"string"},"data":{"description":"data object for the context provider","type":"object"},"extraData":{"description":"additional data object for the context provider","type":"object"},"isEdited":{"description":"flag indicating if the context provider has been edited","type":"boolean"},"context":{"description":"context object for the context provider","type":"object"}},"additionalProperties":true,"required":["name"]},{"$id":"context-providers-directory/boundary-conditions-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Provider Schema","type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"},"electricField":{"type":"number","title":"Electric Field (eV/A)"},"targetFermiEnergy":{"type":"number","title":"Target Fermi Energy (eV)"}}},{"$id":"context-providers-directory/by-application/nwchem-total-energy-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"NWChem Total Energy Context Provider Schema","description":"Schema for NWChemTotalEnergyContextProvider that generates context data for NWChem total energy input.","type":"object","properties":{"CHARGE":{"type":"integer","description":"Total charge of the system."},"MULT":{"type":"integer","description":"Spin multiplicity of the system."},"BASIS":{"type":"string","description":"Basis set label used in the calculation (e.g., '6-31G')."},"NAT":{"type":"integer","description":"Number of atoms in the system."},"NTYP":{"type":"integer","description":"Number of unique atomic species in the system."},"ATOMIC_POSITIONS":{"type":"string","description":"Formatted text block with atomic positions including constraints."},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block with atomic positions without constraints."},"ATOMIC_SPECIES":{"type":"string","description":"Formatted text block for atomic species, including element symbols and masses."},"FUNCTIONAL":{"type":"string","description":"Exchange-correlation functional identifier (e.g., 'B3LYP')."},"CARTESIAN":{"type":"boolean","description":"Whether atomic positions are expressed in cartesian coordinates."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN"]},{"$id":"context-providers-directory/by-application/qe-neb-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE NEB Context Provider Schema","description":"Schema for QENEBContextProvider that generates context data for Quantum ESPRESSO pw.x NEB input. Extends the pw.x context with image-specific atomic positions.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Base Context Provider Schema","description":"Base schema with shared Quantum ESPRESSO pw.x context provider properties.","type":"object","properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}},"required":["x","y","z"]}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}},{"type":"object","properties":{"FIRST_IMAGE":{"type":"string","description":"Atomic positions block (ATOMIC_POSITIONS) for the first NEB image."},"LAST_IMAGE":{"type":"string","description":"Atomic positions block (ATOMIC_POSITIONS) for the last NEB image."},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"type":"string"}}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES"]}]},{"$id":"context-providers-directory/by-application/qe-pwx-base-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Base Context Provider Schema","description":"Base schema with shared Quantum ESPRESSO pw.x context provider properties.","type":"object","properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}},"required":["x","y","z"]}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}},{"$id":"context-providers-directory/by-application/qe-pwx-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Context Provider Schema","description":"Schema for QEPWXContextProvider that generates context data for Quantum ESPRESSO pw.x input files. Contains computed context properties and string-formatted versions of pw.x input sections.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"QE pwx Base Context Provider Schema","description":"Base schema with shared Quantum ESPRESSO pw.x context provider properties.","type":"object","properties":{"IBRAV":{"type":"integer"},"RESTART_MODE":{"type":"string","enum":["from_scratch","restart"],"default":"from_scratch"},"ATOMIC_SPECIES":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"ATOMIC_SPECIES_WITH_LABELS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"},"Mass_X":{"type":"number","description":"mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"},"PseudoPot_X":{"type":"string","description":"PseudoPot_X"}}}},"NAT":{"type":"integer","description":"number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"},"NTYP":{"type":"integer","description":"number of types of atoms in the unit cell"},"NTYP_WITH_LABELS":{"type":"integer","description":"Number of different atomic species including labels","minimum":1},"ATOMIC_POSITIONS":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"X":{"type":"string","description":"label of the atom as specified in ATOMIC_SPECIES"},"x":{"type":"number","description":"atomic positions"},"y":{"type":"number","description":"atomic positions"},"z":{"type":"number","description":"atomic positions"},"if_pos(1)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(2)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},"if_pos(3)":{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1}},"required":["x","y","z"]}},"ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS":{"type":"string","description":"Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"},"CELL_PARAMETERS":{"type":"object","additionalProperties":false,"properties":{"v1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"v3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}},{"type":"object","required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS"]}]},{"$id":"context-providers-directory/by-application/vasp-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"VASP Context Provider Schema","description":"Schema for VASPContextProvider that generates context data for VASP POSCAR input files.","type":"object","properties":{"POSCAR":{"type":"string","description":"POSCAR content for VASP including lattice, atom types, positions and constraints."},"POSCAR_WITH_CONSTRAINTS":{"type":"string","description":"POSCAR content for VASP including lattice, atom types, positions and constraints. May differ in how constraints are represented."}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS"]},{"$id":"context-providers-directory/by-application/vasp-neb-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"VASP NEB Context Provider Schema","description":"Schema for VASPNEBContextProvider that generates context data for VASP NEB (nudged elastic band) runs.","type":"object","properties":{"FIRST_IMAGE":{"type":"string","description":"POSCAR content with constraints for the first NEB image."},"LAST_IMAGE":{"type":"string","description":"POSCAR content with constraints for the last NEB image."},"INTERMEDIATE_IMAGES":{"type":"array","description":"POSCAR contents with constraints for all intermediate NEB images.","items":{"type":"string"}}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES"]},{"$id":"context-providers-directory/collinear-magnetization-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Provider Schema","description":"Set starting magnetization, can have values in the range [-1, +1].","type":"object","properties":{"startingMagnetization":{"type":"array","items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"value":{"type":"number","title":"Starting magnetization","minimum":-1,"maximum":1}}}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}}},{"$id":"context-providers-directory/enum","definitions":{"ContextProviderNameEnum":{"type":"string","enum":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"],"tsEnumNames":["PlanewaveCutoffDataManager","KGridFormDataManager","QGridFormDataManager","IGridFormDataManager","QPathFormDataManager","IPathFormDataManager","KPathFormDataManager","ExplicitKPathFormDataManager","ExplicitKPath2PIBAFormDataManager","HubbardJContextManager","HubbardUContextManager","HubbardVContextManager","HubbardContextManagerLegacy","NEBFormDataManager","BoundaryConditionsFormDataManager","MLSettingsDataManager","MLTrainTestSplitDataManager","IonDynamicsContextProvider","CollinearMagnetizationDataManager","NonCollinearMagnetizationDataManager","QEPWXInputDataManager","QENEBInputDataManager","VASPInputDataManager","VASPNEBInputDataManager","NWChemInputDataManager"]}}},{"$id":"context-providers-directory/hubbard-j-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Provider Schema","description":"Hubbard parameters for DFT+U+J calculation.","type":"array","minItems":1,"items":{"type":"object","properties":{"paramType":{"type":"string","title":"Species","enum":["U","J","B","E2","E3"]},"atomicSpecies":{"type":"string","title":"Species"},"atomicOrbital":{"type":"string","title":"Orbital"},"value":{"type":"number","title":"Value (eV)"}}}},{"$id":"context-providers-directory/hubbard-legacy-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Provider Schema","description":"Hubbard parameters for DFT+U calculation.","type":"array","uniqueItems":true,"minItems":1,"items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"atomicSpeciesIndex":{"type":"integer","title":"Species index"},"hubbardUValue":{"type":"number","title":"Hubbard U (eV)"}}}},{"$id":"context-providers-directory/hubbard-u-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Provider Schema","description":"Hubbard U parameters for DFT+U or DFT+U+V calculation.","type":"array","items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Atomic species"},"atomicOrbital":{"type":"string","title":"Atomic orbital"},"hubbardUValue":{"type":"number","title":"Hubbard U (eV)"}}}},{"$id":"context-providers-directory/hubbard-v-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Provider Schema","description":"Hubbard V parameters for DFT+U+V calculation.","type":"array","minItems":1,"items":{"type":"object","properties":{"atomicSpecies":{"type":"string","title":"Species 1"},"siteIndex":{"type":"integer","title":"Site no 1"},"atomicOrbital":{"type":"string","title":"Orbital 1"},"atomicSpecies2":{"type":"string","title":"Species 2"},"siteIndex2":{"type":"integer","title":"Site no 2"},"atomicOrbital2":{"type":"string","title":"Orbital 2"},"hubbardVValue":{"type":"number","title":"V (eV)"}}}},{"$id":"context-providers-directory/ion-dynamics-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Provider Schema","description":"Important parameters for molecular dynamics calculation","type":"object","properties":{"numberOfSteps":{"type":"integer","title":"numberOfSteps"},"timeStep":{"type":"number","title":"timeStep (Hartree a.u.)"},"electronMass":{"type":"number","title":"Effective electron mass"},"temperature":{"type":"number","title":"Ionic temperature (K)"}}},{"$id":"context-providers-directory/ml-settings-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Provider Schema","description":"Settings important to machine learning runs.","type":"object","properties":{"target_column_name":{"type":"string"},"problem_category":{"type":"string","enum":["regression","classification","clustering"]}}},{"$id":"context-providers-directory/ml-train-test-split-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Provider Schema","description":"Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.","type":"object","properties":{"fraction_held_as_test_set":{"type":"number","minimum":0,"maximum":1}}},{"$id":"context-providers-directory/neb-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}},{"$id":"context-providers-directory/non-collinear-magnetization-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Provider Schema","description":"Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.","type":"object","properties":{"isExistingChargeDensity":{"type":"boolean","title":"Use existing charge density"},"isStartingMagnetization":{"type":"boolean","title":"Set starting magnetization"},"startingMagnetization":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","title":"Index"},"atomicSpecies":{"type":"string","title":"Atomic species"},"value":{"type":"number","title":"Starting magnetization"}}}},"isArbitrarySpinAngle":{"type":"boolean","title":"Set arbitrary spin angle"},"spinAngles":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","title":"Index"},"atomicSpecies":{"type":"string","title":"Atomic species"},"angle1":{"type":"number","title":"Angle1 (deg)"},"angle2":{"type":"number","title":"Angle2 (deg)"}}}},"isConstrainedMagnetization":{"type":"boolean","title":"Set constrained magnetization"},"constrainedMagnetization":{"type":"object","properties":{"constrainType":{"type":"string","title":"Constrain type","enum":["none","total","atomic","total direction","atomic direction"]},"lambda":{"type":"number","title":"lambda"}}},"isFixedMagnetization":{"type":"boolean","title":"Set Fixed magnetization (only applicable to constrained magnetization of 'total' type)"},"fixedMagnetization":{"type":"object","properties":{"x":{"type":"number","title":"X-component"},"y":{"type":"number","title":"Y-component"},"z":{"type":"number","title":"Z-component"}}}}},{"$id":"context-providers-directory/planewave-cutoffs-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Provider Schema","description":"Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.","type":"object","properties":{"wavefunction":{"type":"number"},"density":{"type":"number"}}},{"$id":"context-providers-directory/points-grid-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"shifts":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"reciprocalVectorRatios":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"gridMetricType":{"type":"string","enum":["KPPRA","spacing"]},"gridMetricValue":{"type":"number"},"preferGridMetric":{"type":"boolean"}}},{"$id":"context-providers-directory/points-path-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Provider Schema","description":"Path in reciprocal space for band structure calculations.","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"integer"}}}},{"$id":"core/abstract/2d-data","$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]},{"$id":"core/abstract/2d-plot","$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]},{"$id":"core/abstract/3d-grid","$schema":"http://json-schema.org/draft-07/schema#","title":"3 dimensional grid schema","type":"object","properties":{"dimensions":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"shifts":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}},"required":["dimensions","shifts"]},{"$id":"core/abstract/coordinate-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},{"$id":"core/abstract/coordinate-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},{"$id":"core/abstract/matrix-3x3","$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},{"$id":"core/abstract/vector-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]},{"$id":"core/abstract/vector-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},{"$id":"core/abstract/vector-boolean-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]},{"$id":"core/primitive/1d-data-series","$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}},{"$id":"core/primitive/array-of-2-numbers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},{"$id":"core/primitive/array-of-3-booleans","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3},{"$id":"core/primitive/array-of-3-integers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3},{"$id":"core/primitive/array-of-3-numbers","$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"$id":"core/primitive/array-of-ids","$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}},{"$id":"core/primitive/array-of-strings","$schema":"http://json-schema.org/draft-07/schema#","title":"array of strings","description":"array of strings, e.g. metadata tags","type":"array","items":{"type":"string","uniqueItems":true}},{"$id":"core/primitive/axis","$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},{"$id":"core/primitive/axis-3d-names-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},{"$id":"core/primitive/group-info","$schema":"http://json-schema.org/draft-07/schema#","title":"Group info schema for nodes in a graph","type":"object","properties":{"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}},{"$id":"core/primitive/integer-one-or-zero","$schema":"http://json-schema.org/draft-07/schema#","title":"integer one or zero","type":"integer","minimum":0,"maximum":1},{"$id":"core/primitive/integer-positive-single-digit","$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9},{"$id":"core/primitive/linked-list/base-node","$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$id":"core/primitive/linked-list/named-node","$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]}]},{"$id":"core/primitive/linked-list/named-node-in-group","$schema":"http://json-schema.org/draft-07/schema#","title":"Named node in group schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Group info schema for nodes in a graph","type":"object","properties":{"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}}]},{"$id":"core/primitive/linked-list/node-with-type","$schema":"http://json-schema.org/draft-07/schema#","title":"Typed node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}}],"properties":{"type":{"type":"string"}}},{"$id":"core/primitive/linked-list","$schema":"http://json-schema.org/draft-07/schema#","title":"linked list schema","type":"array","items":{"type":"object","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node in group schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Group info schema for nodes in a graph","type":"object","properties":{"groupName":{"description":"Human-readable name of group of nodes","type":"string"},"groupId":{"description":"Unique identifier of the group a node belongs to","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Typed node schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"basic node schema (linked list)","type":"object","allOf":[{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}],"properties":{"next":{"description":"Flowchart ID of next node","type":"string"},"head":{"description":"Whether node is head node or not","type":"boolean"}},"definitions":{"flowchart-id":{"properties":{"flowchartId":{"description":"Unique flowchart ID of node","type":"string"}},"required":["flowchartId"]}}}],"properties":{"type":{"type":"string"}}}],"uniqueItems":true}},{"$id":"core/primitive/object-with-id","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]},{"$id":"core/primitive/object-with-id-and-value","$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]},{"$id":"core/primitive/scalar","$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]},{"$id":"core/primitive/slugified-entry","$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"$id":"core/primitive/slugified-entry-or-slug","$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},{"$id":"core/primitive/string","$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]},{"$id":"core/reference/exabyte","$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}},"required":["jobId","unitId"]},{"$id":"core/reference/experiment/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}},"required":["name"]},{"$id":"core/reference/experiment/location","$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}},"required":["latitude","longitude"]},{"$id":"core/reference/experiment","$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}},"required":["name"]}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}},"required":["latitude","longitude"]},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}}},"required":["conditions","authors","title","method","timestamp"]},{"$id":"core/reference/literature/name","$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]},{"$id":"core/reference/literature/pages","$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]},{"$id":"core/reference/literature","$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}},{"$id":"core/reference/modeling/exabyte","$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}},"required":["title","_id","owner"]},{"$id":"core/reference/modeling","$schema":"http://json-schema.org/draft-07/schema#","title":"info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}},"required":["title","_id","owner"]}]},{"$id":"core/reference","$schema":"http://json-schema.org/draft-07/schema#","title":"reference schema (using `anyOf` instead of `oneOf` below b/c current reference schemas overlap)","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by exabyte calculation","type":"object","properties":{"type":{"enum":["exabyte"]},"title":{"description":"Human-readable title of the job","type":"string","maxLength":300},"_id":{"description":"job identifier","type":"string"},"owner":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}},"required":["title","_id","owner"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}},"required":["name"]}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}},"required":["latitude","longitude"]},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}}},"required":["conditions","authors","title","method","timestamp"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}]},{"$id":"core/reusable/atomic-data/per-orbital","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital","description":"Atomic properties per orbital e.g., Hubbard U parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"}}},{"$id":"core/reusable/atomic-data/per-orbital-pair","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$id":"core/reusable/atomic-data/value-number","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}},{"$id":"core/reusable/atomic-data/value-string","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data string properties","description":"String value specific to atomic data","type":"object","properties":{"value":{"type":"string","description":"String value specific to atomic data"}}},{"$id":"core/reusable/atomic-data-per-orbital-numeric","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital","description":"Atomic properties per orbital e.g., Hubbard U parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]},{"$id":"core/reusable/atomic-data-per-orbital-pair-numeric","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]},{"$id":"core/reusable/atomic-orbital","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}},{"$id":"core/reusable/atomic-scalars","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic scalars vectors schema","type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}}}},{"$id":"core/reusable/atomic-string","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}},{"$id":"core/reusable/atomic-vector","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}},{"$id":"core/reusable/atomic-vectors","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},{"$id":"core/reusable/band-gap","$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["type"]},{"$id":"core/reusable/categories","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},{"$id":"core/reusable/category-path","$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"},{"$id":"core/reusable/coordinate-conditions/base","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]},{"$id":"core/reusable/coordinate-conditions/box","$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$id":"core/reusable/coordinate-conditions/cylinder","$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$id":"core/reusable/coordinate-conditions/enum","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]},{"$id":"core/reusable/coordinate-conditions/index","$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]}]},{"$id":"core/reusable/coordinate-conditions/plane","$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]},{"$id":"core/reusable/coordinate-conditions/sphere","$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$id":"core/reusable/coordinate-conditions/triangular-prism","$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$id":"core/reusable/dielectric-tensor-component","$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"","description":"Schema for a function of frequency yielding a nx3 matrix","type":"object","properties":{"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}],"properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"}},"required":["part","frequencies","components"]},{"$id":"core/reusable/energy","$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]},{"$id":"core/reusable/energy-accuracy-levels","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]},{"$id":"core/reusable/file-metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}},{"$id":"core/reusable/frequency-function-matrix","$schema":"http://json-schema.org/draft-07/schema#","title":"","description":"Schema for a function of frequency yielding a nx3 matrix","type":"object","properties":{"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}},{"$id":"core/reusable/kpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},{"$id":"core/reusable/object-storage-container-data","$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},{"$id":"core/reusable/scalar-with-accuracy-levels","$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]},{"$id":"definitions/chemical-elements","title":"Chemical Element Symbols","periodic_table":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},"extra":{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]},"all":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}},{"$id":"definitions/constants","title":"fundamental constants","description":"Fundamental physical constants, 2022 NIST CODATA (https://doi.org/10.48550/arXiv.2409.03787)","type":"object","properties":{"c":{"description":"speed of light in vacuum, \"units\": \"m/s\"","type":"number","default":299792458},"h":{"description":"Planck constant, \"units\": \"J s\"","type":"number","default":6.62607015e-34},"e":{"description":"elementary charge, \"units\": \"C\"","type":"number","default":1.602176634e-19},"G":{"description":"Newtonian constant of gravitation, \"units\": \"m^3/kg/s^2\"","type":"number","default":6.6743015e-11},"me":{"description":"electron mass \"units\": \"kg\"","type":"number","default":9.109383713928e-31},"eps0":{"description":"vacuum permittivity, \"units\": \"F/m\"","type":"number","default":8.854187818814e-12},"mu0":{"description":"vacuum permeability, \"units\": \"N/A^2\"","type":"number","default":0.000001256637061272}},"required":["c","h","e","G","me","eps0","mu0"]},{"$id":"definitions/material","title":"Materials Definitions","form_factor":{"description":"Form factor of the material","enum":["bulk","slab","monolayer","nanoribbon"]},"dimensionality":{"description":"Dimensionality of the material","enum":["zero-dimensional","one-dimensional","two-dimensional","three-dimensional"]}},{"$id":"definitions/units","title":"all units definitions","angle":{"enum":["degree","radian"],"default":"degree"},"coordinates_basis":{"enum":["crystal","cartesian"],"default":"crystal"},"coordinates_lattice_reciprocal":{"enum":["crystal","cartesian"],"default":"crystal"},"length":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"length_atomic":{"enum":["angstrom","bohr"],"default":"angstrom"},"energy":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},"energy_atomic":{"enum":["eV","hartree","rydberg"],"default":"eV"},"surface_energy":{"enum":["eV/A^2"]},"force":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]},"volume":{"enum":["cm^3","angstrom^3"]},"numberDensity":{"enum":["1/angstrom^3"]},"density":{"enum":["g/cm^3"]},"frequency":{"enum":["cm-1","THz","meV"]},"pressure":{"enum":["kbar","pa"]},"phononDOS":{"enum":["states/cm-1","states/THz","states/meV"]},"electronicDOS":{"enum":["states/unitcell"]},"magnetic":{"enum":["uB"]},"chargeDensity":{"enum":["e/A"]},"spectralIntensity":{"enum":["(debye/angstrom)^2","km/mol","m/mol","a.u."]}},{"$id":"element","$schema":"http://json-schema.org/draft-07/schema#","title":"element schema","type":"object","properties":{"symbol":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},"properties":{"type":"array","description":"list of elemental properties","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic radius","description":"atomic radius","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["atomic_radius"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"electronegativity","description":"electronegativity for the element (Pauling scale)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["electronegativity"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential elemental property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["ionization_potential"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name","units"]}]}}}},{"$id":"in-memory-entity/base","$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$id":"in-memory-entity/defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"Defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$id":"in-memory-entity/has-consistency-check-has-metadata-named-defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"has consistency check has metadata named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Has consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}}}}]},{"$id":"in-memory-entity/named","$schema":"http://json-schema.org/draft-07/schema#","title":"Named in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]}]},{"$id":"in-memory-entity/named-defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$id":"in-memory-entity/named-defaultable-has-metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]},{"$id":"job/base","$schema":"http://json-schema.org/draft-07/schema#","title":"job base schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"rmsId":{"description":"Identity used to track jobs originated from command-line","type":"string"},"status":{"description":"job status","enum":["pre-submission","queued","submitted","active","finished","terminate-queued","terminated","error","deleted","timeout"]},"startTime":{"description":"Approximate start time of the job. e.g. within 10 min","type":"string"},"workDir":{"description":"The path to the working directory of this job, when the job originates from command-line","type":"string"},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]},"_project":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"_material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"parent":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"runtimeContext":{"description":"Context variables that the job will have access to at runtime","type":"object"},"scopeTrack":{"description":"history of the workflow scope on each update","type":"array","items":{"type":"object","properties":{"repetition":{"type":"number"},"scope":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}},"required":["global","local"]}}}}},"required":["status","compute","_project"]},{"$id":"job/compute","$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]},{"$id":"job","$schema":"http://json-schema.org/draft-07/schema#","title":"job schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"job base schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"rmsId":{"description":"Identity used to track jobs originated from command-line","type":"string"},"status":{"description":"job status","enum":["pre-submission","queued","submitted","active","finished","terminate-queued","terminated","error","deleted","timeout"]},"startTime":{"description":"Approximate start time of the job. e.g. within 10 min","type":"string"},"workDir":{"description":"The path to the working directory of this job, when the job originates from command-line","type":"string"},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]},"_project":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"_material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"parent":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},"runtimeContext":{"description":"Context variables that the job will have access to at runtime","type":"object"},"scopeTrack":{"description":"history of the workflow scope on each update","type":"array","items":{"type":"object","properties":{"repetition":{"type":"number"},"scope":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}},"required":["global","local"]}}}}},"required":["status","compute","_project"]}],"properties":{"workflow":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}}}}],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]}],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","application"]}]}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"enum":["subworkflow"]}}}]}],"discriminator":{"propertyName":"type"},"required":["type"]}}},"required":["units","subworkflows"]}},"required":["workflow"]},{"$id":"material/consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}},{"$id":"material/conventional","$schema":"http://json-schema.org/draft-07/schema#","title":"material conventional schema","type":"object","properties":{"conventional":{"type":"object"}}},{"$id":"material","$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]},{"$id":"materials-category/compound-pristine-structures/two-dimensional/interface/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Interface Configuration Schema","description":"A two-dimensional interface between two slabs, optionally including vacuum, with a specified stacking direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":3,"items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}],"description":"Components of the interface: slab, slab and vacuum"},"direction":{"default":"z"},"xy_shift":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]}],"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane."}}},{"$id":"materials-category/defective-structures/one-dimensional/grain-boundary-linear/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Grain Boundary Linear Configuration Schema","description":"Configuration for creating a linear grain boundary.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Interface Configuration Schema","description":"A two-dimensional interface between two slabs, optionally including vacuum, with a specified stacking direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":3,"items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}],"description":"Components of the interface: slab, slab and vacuum"},"direction":{"default":"z"},"xy_shift":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]}],"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane."}}}],"properties":{"stack_components":{"maxItems":2},"direction":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]}],"default":"x"},"actual_angle":{"type":"number","description":"The actual angle between the two phases","minimum":0,"maximum":360}},"required":["stack_components","direction"]},{"$id":"materials-category/defective-structures/two-dimensional/adatom/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Adatom Defect Configuration Schema","description":"An adatom point defect configuration where an atom is added to a surface site on a slab.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Stack Configuration Schema","description":"Base configuration for a slab stack with another component and vacuum in the z-direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"type":"object"},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"stack_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"type":"object","properties":{"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}},"required":["element"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]}}},{"$id":"materials-category/defective-structures/two-dimensional/grain-boundary-planar/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Grain Boundary Planar Configuration Schema","description":"Configuration for creating a grain boundary between two phases.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Interface Configuration Schema","description":"A two-dimensional interface between two slabs, optionally including vacuum, with a specified stacking direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":3,"items":[{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}],"description":"Components of the interface: slab, slab and vacuum"},"direction":{"default":"z"},"xy_shift":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 2d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]}],"default":[0,0],"description":"xy shift for the film as cartesian 2D vector on the xy plane."}}}],"properties":{"direction":{"default":"z"}}},{"$id":"materials-category/defective-structures/two-dimensional/island/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Island Defect Configuration Schema","description":"An island defect configuration where a void region is created in a slab, leaving an island of material.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Stack Configuration Schema","description":"Base configuration for a slab stack with another component and vacuum in the z-direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"type":"object"},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"stack_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]}]}},"required":["crystal","coordinate_condition"]}]},"merge_method":{"default":"REPLACE"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]}}},{"$id":"materials-category/defective-structures/two-dimensional/terrace/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Terrace Defect Configuration Schema","description":"An terrace defect configuration where a void region is created in a slab that is stacked with another slab, creating a terrace.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Stack Configuration Schema","description":"Base configuration for a slab stack with another component and vacuum in the z-direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"type":"object"},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"stack_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]}]}},"required":["crystal","coordinate_condition"]}]},"merge_method":{"default":"REPLACE"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"cut_direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["stack_components","cut_direction"]},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/base-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Base Configuration Schema","description":"Base configuration for a point defect in a host crystal using merge operation.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}]},"merge_method":{"default":"REPLACE"}},"required":["merge_components","merge_method"]},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/interstitial","$schema":"http://json-schema.org/draft-07/schema#","title":"Interstitial Point Defect Schema","description":"An interstitial point defect configuration where an atom is added to an interstitial site.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Base Configuration Schema","description":"Base configuration for a point defect in a host crystal using merge operation.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}]},"merge_method":{"default":"REPLACE"}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"type":"object","properties":{"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}},"required":["element"]}]}]}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/substitutional","$schema":"http://json-schema.org/draft-07/schema#","title":"Substitutional Point Defect Schema","description":"A substitutional point defect configuration where an atom at a crystal site is replaced with a different element.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Base Configuration Schema","description":"Base configuration for a point defect in a host crystal using merge operation.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}]},"merge_method":{"default":"REPLACE"}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"type":"object","properties":{"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}},"required":["element"]}]}]}}},{"$id":"materials-category/defective-structures/zero-dimensional/point-defect/vacancy","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Point Defect Schema","description":"A vacancy point defect configuration where an atom is removed from a crystal site.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Base Configuration Schema","description":"Base configuration for a point defect in a host crystal using merge operation.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}]},"merge_method":{"default":"REPLACE"}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}}},{"$id":"materials-category/pristine-structures/three-dimensional/ideal-crystal","$schema":"http://json-schema.org/draft-07/schema#","title":"Ideal Crystal Schema","description":"An ideal, perfect crystal structure","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}]},{"$id":"materials-category/pristine-structures/two-dimensional/nanoribbon","$schema":"http://json-schema.org/draft-07/schema#","title":"Nanoribbon Configuration Schema","description":"A nanoribbon unit cell consisting of nanotape and vacuum stacked in X direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"NanoTape Configuration Schema","description":"A nanotape unit cell consisting of crystal lattice lines and vacuum stacked in Y direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Schema","description":"A set of crystal lattice lines defined by 2D Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"required":["miller_indices_2d"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"}},"required":["termination_top"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"y"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"x"}}},{"$id":"materials-category/pristine-structures/two-dimensional/nanotape","$schema":"http://json-schema.org/draft-07/schema#","title":"NanoTape Configuration Schema","description":"A nanotape unit cell consisting of crystal lattice lines and vacuum stacked in Y direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Schema","description":"A set of crystal lattice lines defined by 2D Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"required":["miller_indices_2d"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"}},"required":["termination_top"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"y"}}},{"$id":"materials-category/pristine-structures/two-dimensional/slab","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$id":"materials-category/pristine-structures/two-dimensional/slab-strained-supercell","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Strained Supercell Configuration Schema","description":"A slab structure configuration with supercell transformation and strain matrix in the xy plane","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}}],"properties":{"xy_supercell_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["xy_supercell_matrix","strain_matrix"]},{"$id":"materials-category/processed-structures/two-dimensional/passivation/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Passivation Configuration Schema","description":"Configuration for a passivation that adds passivating atoms to a material surface.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]}],"properties":{"merge_components":{"type":"array","minItems":2,"items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"type":"object","properties":{"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}},"required":["element"]}]}]}},"merge_method":{"default":"ADD"},"passivant":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},"bond_length":{"type":"number","default":1,"description":"The bond length for the passivating atoms"}},"required":["merge_components","merge_method","passivant","bond_length"]},{"$id":"materials-category-components/entities/auxiliary/one-dimensional/miller-indices-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},{"$id":"materials-category-components/entities/auxiliary/three-dimensional/supercell-matrix-3d","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 3D Schema","description":"3x3 matrix of integers for transforming a unit cell into a supercell","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3,"default":[[1,0,0],[0,1,0],[0,0,1]]},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/miller-indices","$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/supercell-matrix-2d","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 2D Schema","description":"Supercell matrix for xy plane transformations","type":"array","items":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"minItems":2,"maxItems":2,"default":[[1,0],[0,1]]},{"$id":"materials-category-components/entities/auxiliary/two-dimensional/termination","$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/crystal-site","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/point-defect-site","$schema":"http://json-schema.org/draft-07/schema#","title":"Point Defect Site Schema","description":"A crystal site with defect information (atom or vacancy) for point defects","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Site Schema","description":"A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["crystal","coordinate"]},{"type":"object","properties":{"element":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]}]}},"required":["element"]}]},{"$id":"materials-category-components/entities/auxiliary/zero-dimensional/void-region","$schema":"http://json-schema.org/draft-07/schema#","title":"Void Region Schema","description":"A void region that applies coordinate condition to a crystal or slab and creates a void region","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"coordinate_condition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]}]}},"required":["crystal","coordinate_condition"]},{"$id":"materials-category-components/entities/core/three-dimensional/crystal","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},{"$id":"materials-category-components/entities/core/three-dimensional/void","$schema":"http://json-schema.org/draft-07/schema#","title":"Void Schema","description":"A void that can be placed into a crystal, removing all atoms inside","type":"object","properties":{"center_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Conditions Schema","description":"Combined schema for all coordinate condition types","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Box Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"box","default":"box"},"min_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"max_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["min_coordinate","max_coordinate"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sphere Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"sphere","default":"sphere"},"radius":{"type":"number","minimum":0}},"required":["radius"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Cylinder Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"cylinder","default":"cylinder"},"radius":{"type":"number","minimum":0},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["radius","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Triangular Prism Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"triangular_prism","default":"triangular_prism"},"position_on_surface_1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"position_on_surface_3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 2 number elements schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"min_z":{"type":"number"},"max_z":{"type":"number"}},"required":["position_on_surface_1","position_on_surface_2","position_on_surface_3","min_z","max_z"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane Coordinate Condition Schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Condition Schema","description":"Base interface for coordinate shape filters","type":"object","properties":{"shape":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Coordinate Shape Enum","type":"string","enum":["cylinder","sphere","box","triangular_prism","plane"]}},"required":["shape"]}],"properties":{"shape":{"const":"plane","default":"plane"},"plane_normal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"plane_point_coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}},"required":["plane_normal","plane_point_coordinate"]}]}},"required":["center_coordinate","shape"]},{"$id":"materials-category-components/entities/core/two-dimensional/vacuum","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]},{"$id":"materials-category-components/entities/core/zero-dimensional/atom","$schema":"http://json-schema.org/draft-07/schema#","title":"Atom Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]}},"required":["chemical_element"]},{"$id":"materials-category-components/entities/core/zero-dimensional/vacancy","$schema":"http://json-schema.org/draft-07/schema#","title":"Vacancy Schema","description":"A chemical element that can be placed at a crystal site","type":"object","properties":{"chemical_element":{"allOf":[{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}],"default":"Vac"}},"required":["chemical_element"]},{"$id":"materials-category-components/entities/reusable/one-dimensional/crystal-lattice-lines","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Schema","description":"A set of crystal lattice lines defined by 2D Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"required":["miller_indices_2d"]},{"$id":"materials-category-components/entities/reusable/one-dimensional/crystal-lattice-lines-unique-repeated","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Unique Repeated Schema","description":"Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Lines Schema","description":"A set of crystal lattice lines defined by 2D Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices_2d":{"$schema":"http://json-schema.org/draft-07/schema#","title":"2D Miller Indices Schema","description":"The (u,v) Miller indices for the line direction","type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}}},"required":["miller_indices_2d"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"termination_bottom":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions_width":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in width direction"},"number_of_repetitions_length":{"type":"integer","minimum":1,"default":1,"description":"Number of repetitions in length direction"}},"required":["termination_top"]},{"$id":"materials-category-components/entities/reusable/three-dimensional/crystal-lattice-base","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]},{"$id":"materials-category-components/entities/reusable/three-dimensional/repetitions","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Repetitions Schema","description":"Number of unit cells to repeat in each direction for a crystal structure.","type":"array","items":{"type":"integer","minimum":1},"minItems":3,"maxItems":3,"default":[1,1,1]},{"$id":"materials-category-components/entities/reusable/three-dimensional/strained-non-uniform","$schema":"http://json-schema.org/draft-07/schema#","title":"Non-Uniformly Strained Crystal Configuration Schema","description":"A crystal structure with non-uniform strain applied using a strain matrix","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"strain_matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["crystal","strain_matrix"]},{"$id":"materials-category-components/entities/reusable/three-dimensional/strained-uniform","$schema":"http://json-schema.org/draft-07/schema#","title":"Uniformly Strained Crystal Configuration Schema","description":"A crystal structure with uniform strain applied","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"strain_percentage":{"type":"number","description":"Percentage of uniform strain to apply to the crystal structure"}},"required":["crystal","strain_percentage"]},{"$id":"materials-category-components/entities/reusable/three-dimensional/supercell","$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Configuration Schema","description":"A repeated crystal structure defined by a transformation matrix","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}},"required":["crystal","matrix"]},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Schema","description":"A set of atomic layers defined by a plane in a crystal structure with specific terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Schema","description":"A set of unique atomic layers defined by a plane in a crystal structure, including all possible terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"terminations":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"minItems":1,"description":"All possible terminations for this orientation."}},"required":["terminations"]}]},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers-unique","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Schema","description":"A set of unique atomic layers defined by a plane in a crystal structure, including all possible terminations","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"terminations":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"minItems":1,"description":"All possible terminations for this orientation."}},"required":["terminations"]},{"$id":"materials-category-components/entities/reusable/two-dimensional/atomic-layers-unique-repeated","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$id":"materials-category-components/entities/reusable/two-dimensional/crystal-lattice-planes","$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]},{"$id":"materials-category-components/entities/reusable/two-dimensional/slab-stack-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Stack Configuration Schema","description":"Base configuration for a slab stack with another component and vacuum in the z-direction.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":3,"maxItems":3,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Slab Configuration Schema","description":"A slab unit cell consisting of repeated unique atomic layers and vacuum.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]}],"properties":{"stack_components":{"type":"array","minItems":2,"maxItems":2,"items":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic Layers Unique Repeated Schema","description":"Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Planes Schema","description":"A set of all possible planes in a crystal defined by Miller indices","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Lattice Base Schema","description":"Base schema for crystal lattice structures defined by crystal and miller indices","type":"object","properties":{"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]},"use_conventional_cell":{"type":"boolean","description":"Use the conventional cell for the crystal structure","default":true}},"required":["crystal"]}],"properties":{"miller_indices":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Miller Indices Schema","description":"Miller indices [h, k, l] defining crystallographic planes","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}],"default":[0,0,1]}},"required":["miller_indices"]}],"properties":{"termination_top":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Termination Schema","description":"Defines a specific termination of a slab","type":"object","required":["chemical_elements","space_group_symmetry_label"],"properties":{"chemical_elements":{"title":"Chemical Elements","description":"Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')","type":"string","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"type":"string","description":"A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'","pattern":"^([A-Z][a-z]?[0-9]*)+$"}]},"space_group_symmetry_label":{"title":"Space Group Symmetry Label","description":"Space group symmetry designation for the termination","type":"string"}}},"number_of_repetitions":{"type":"integer","minimum":1,"description":"Number of repetitions of the unique atomic layers"}},"required":["termination_top","number_of_repetitions"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"type":"object"},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Vacuum Configuration Schema","description":"A vacuum slab that breaks periodicity in a specified direction","type":"object","properties":{"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"size":{"type":"number","description":"Size of the vacuum slab in angstroms","minimum":0,"default":10},"crystal":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Crystal Schema","description":"A crystal structure, referencing the base material schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]}]}},"required":["direction","size","crystal"]}]},"direction":{"default":"z"}}},{"$id":"materials-category-components/operations/core/combinations/enums","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]},{"$id":"materials-category-components/operations/core/combinations/merge","$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Schema","description":"A component of a stack, which can be a crystal or a vacuum","properties":{"merge_components":{"type":"array"},"merge_method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Merge Methods Enum","description":"Available methods for merging components","type":"string","enum":["ADD","REPLACE","YIELD"]}},"required":["merge_components","merge_method"]},{"$id":"materials-category-components/operations/core/combinations/stack","$schema":"http://json-schema.org/draft-07/schema#","title":"Stack Schema","description":"A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.","type":"object","properties":{"stack_components":{"type":"array"},"direction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Axis Enum","type":"string","description":"Enum for axis types","enum":["x","y","z"]},"gaps":{"description":"Gap distances between stack components as array of objects with id and value","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"number"}}}}},"required":["stack_components","direction"]},{"$id":"materials-category-components/operations/core/modifications/perturb","$schema":"http://json-schema.org/draft-07/schema#","title":"Perturbation Schema","description":"A perturbation operation that modifies a configuration by applying a perturbation to atoms coordinates.","type":"object","properties":{"material":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]}],"properties":{"formula":{"description":"reduced chemical formula","type":"string"},"unitCellFormula":{"description":"chemical formula based on the number of atoms of each element in the supercell","type":"string"},"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},"lattice":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},"derivedProperties":{"$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},"external":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"third party sources","type":"object","properties":{"source":{"type":"string","enum":["MaterialsProject","MaterialsProjectLegacy","ICSD","2dmatpedia"]}},"required":["source"]}]},"src":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with atomic orbital basis)","type":"boolean"},"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"material consistency check schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}],"properties":{"name":{"type":"string","enum":["default","atomsTooClose","atomsOverlap"],"description":"Name of the consistency check that is performed, which is listed in an enum."}}}},"metadata":{"type":"object","properties":{"boundaryConditions":{"type":"object","properties":{"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["type","offset"]}}}},"required":["basis","lattice"]},"perturbation_function":{"type":"string","description":"A function that defines the perturbation (delta in coordinates) to be applied to the atomic coordinates."}}},{"$id":"materials-category-components/operations/core/modifications/repeat","$schema":"http://json-schema.org/draft-07/schema#","title":"Repeat Schema","properties":{"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Supercell Matrix 3D Schema","description":"3x3 matrix of integers for transforming a unit cell into a supercell","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 integer elements schema","type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3,"default":[[1,0,0],[0,1,0],[0,0,1]]}}},{"$id":"materials-category-components/operations/core/modifications/strain","$schema":"http://json-schema.org/draft-07/schema#","title":"Strain Schema","properties":{"matrix":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3}}},{"$id":"method/categorized-method","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"units":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}}},"required":["units"]},{"$id":"method/method-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"MethodParameters","allOf":[{"oneOf":[{"type":"object","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}},{"type":"object","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}},{"type":"object","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}}]}]},{"$id":"method/unit-method","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}},{"$id":"method","$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]},{"$id":"methods-category/mathematical/diff/enum-options","finiteDifference":{"enum":["fd"]}},{"$id":"methods-category/mathematical/diff/fd","$schema":"http://json-schema.org/draft-07/schema#","title":"Finite difference method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Numerical differentiation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["diff"]}}}],"properties":{"tier2":{"enum":["fd"]}}},{"$id":"methods-category/mathematical/diff","$schema":"http://json-schema.org/draft-07/schema#","title":"Numerical differentiation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["diff"]}}},{"$id":"methods-category/mathematical/discr/enum-options","meshing":{"enum":["mesh"]}},{"$id":"methods-category/mathematical/discr/mesh/enum-options","hybridMesh":{"enum":["hybrid"]},"unstructuredMesh":{"enum":["nstruct"]},"structuredMesh":{"enum":["struct"]}},{"$id":"methods-category/mathematical/discr/mesh/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid meshing category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}}],"properties":{"tier2":{"enum":["mesh"]}}}],"properties":{"tier3":{"enum":["hybrid"]}}},{"$id":"methods-category/mathematical/discr/mesh/nstruct","$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category nstruct schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}}],"properties":{"tier2":{"enum":["mesh"]}}}],"properties":{"tier3":{"enum":["nstruct"]}}},{"$id":"methods-category/mathematical/discr/mesh/struct/cartesian","$schema":"http://json-schema.org/draft-07/schema#","title":"Cartesian grid schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Structured meshing category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}}],"properties":{"tier2":{"enum":["mesh"]}}}],"properties":{"tier3":{"enum":["struct"]}}}],"properties":{"type":{"enum":["cartesian"]}}},{"$id":"methods-category/mathematical/discr/mesh/struct/enum-options","cartesian":{"enum":["cartesian"]}},{"$id":"methods-category/mathematical/discr/mesh/struct","$schema":"http://json-schema.org/draft-07/schema#","title":"Structured meshing category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}}],"properties":{"tier2":{"enum":["mesh"]}}}],"properties":{"tier3":{"enum":["struct"]}}},{"$id":"methods-category/mathematical/discr/mesh","$schema":"http://json-schema.org/draft-07/schema#","title":"Meshing method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}}],"properties":{"tier2":{"enum":["mesh"]}}},{"$id":"methods-category/mathematical/discr","$schema":"http://json-schema.org/draft-07/schema#","title":"Discretization category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["discr"]}}},{"$id":"methods-category/mathematical/enum-options","differentiation":{"enum":["diff"]},"discretization":{"enum":["discr"]},"functionApproximation":{"enum":["fapprx"]},"integration":{"enum":["intgr"]},"linearAlgebra":{"enum":["linalg"]},"optimization":{"enum":["opt"]},"regressionTypes":{"enum":["linear","kernel_ridge"]},"regressionSubtypes":{"enum":["least_squares","ridge"]}},{"$id":"methods-category/mathematical/fapprx/basisexp","$schema":"http://json-schema.org/draft-07/schema#","title":"Basis expansion category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}}],"properties":{"tier2":{"enum":["basisExp"]}}},{"$id":"methods-category/mathematical/fapprx/enum-options","basisExpansion":{"enum":["basisExp"]},"interpolation":{"enum":["ipol"]}},{"$id":"methods-category/mathematical/fapprx/ipol/enum-options","linear":{"enum":["lin"]},"polynomial":{"enum":["poly"]},"spline":{"enum":["spline"]}},{"$id":"methods-category/mathematical/fapprx/ipol/lin","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}}],"properties":{"tier2":{"enum":["ipol"]}}}],"properties":{"tier3":{"enum":["lin"]}}},{"$id":"methods-category/mathematical/fapprx/ipol/poly","$schema":"http://json-schema.org/draft-07/schema#","title":"Polynomial interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}}],"properties":{"tier2":{"enum":["ipol"]}}}],"properties":{"tier3":{"enum":["poly"]}}},{"$id":"methods-category/mathematical/fapprx/ipol/spline","$schema":"http://json-schema.org/draft-07/schema#","title":"Spline interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}}],"properties":{"tier2":{"enum":["ipol"]}}}],"properties":{"tier3":{"enum":["spline"]}}},{"$id":"methods-category/mathematical/fapprx/ipol","$schema":"http://json-schema.org/draft-07/schema#","title":"Interpolation category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}}],"properties":{"tier2":{"enum":["ipol"]}}},{"$id":"methods-category/mathematical/fapprx","$schema":"http://json-schema.org/draft-07/schema#","title":"Unstructured meshing category fapprx schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["fapprx"]}}},{"$id":"methods-category/mathematical/intgr/analytic/enum-options","volume":{"enum":["volume"]},"volumeSubtypes":{"enum":["sphere","cube","rect-prism","tri-prism","cylinder","cone","tetrahedron","sq-pyr"]}},{"$id":"methods-category/mathematical/intgr/analytic/volume","$schema":"http://json-schema.org/draft-07/schema#","title":"Analytic volume integral category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Analytic integral category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["analytic"]}}}],"properties":{"type":{"enum":["volume"]},"subtype":{"enum":["sphere","cube","rect-prism","tri-prism","cylinder","cone","tetrahedron","sq-pyr"]}}},{"$id":"methods-category/mathematical/intgr/analytic","$schema":"http://json-schema.org/draft-07/schema#","title":"Analytic integral category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["analytic"]}}},{"$id":"methods-category/mathematical/intgr/diffeq/enum-options","firstOrder":{"enum":["order1"]},"secondOrder":{"enum":["order2"]}},{"$id":"methods-category/mathematical/intgr/diffeq/order1","$schema":"http://json-schema.org/draft-07/schema#","description":"Categories for the numerical integration of differential equations","type":"object","title":"Order1 schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical integration of differential equations schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["diffeq"]}}}],"properties":{"tier3":{"enum":["order1"]}}},{"$id":"methods-category/mathematical/intgr/diffeq/order2","$schema":"http://json-schema.org/draft-07/schema#","description":"Categories for the numerical integration of differential equations","type":"object","title":"Order2 schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical integration of differential equations schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["diffeq"]}}}],"properties":{"tier3":{"enum":["order2"]}}},{"$id":"methods-category/mathematical/intgr/diffeq","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical integration of differential equations schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["diffeq"]}}},{"$id":"methods-category/mathematical/intgr/enum-options","analytic":{"enum":["analytic"]},"differentialEquation":{"enum":["diffeq"]},"numericalQuadrature":{"enum":["numquad"]},"transformation":{"enum":["transf"]}},{"$id":"methods-category/mathematical/intgr/numquad/enum-options","gaussQuadrature":{"enum":["gauss"]},"newtonCotes":{"enum":["newcot"]}},{"$id":"methods-category/mathematical/intgr/numquad/gauss","$schema":"http://json-schema.org/draft-07/schema#","title":"Gaussian quadrature rules schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical quadrature schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["numquad"]}}}],"properties":{"tier3":{"enum":["gauss"]}}},{"$id":"methods-category/mathematical/intgr/numquad/newcot","$schema":"http://json-schema.org/draft-07/schema#","title":"Newton-Cotes quadrature rules schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical quadrature schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["numquad"]}}}],"properties":{"tier3":{"enum":["newcot"]}}},{"$id":"methods-category/mathematical/intgr/numquad","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods for the numerical quadrature schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["numquad"]}}},{"$id":"methods-category/mathematical/intgr/transf/enum-options","fourierTransformation":{"enum":["fourier"]}},{"$id":"methods-category/mathematical/intgr/transf/fourier","$schema":"http://json-schema.org/draft-07/schema#","description":"Fourier transform methods","title":"Fourier transform methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","description":"Integral transform methods","title":"Integral transform methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["transf"]}}}],"properties":{"type":{"enum":["fourier"]}}},{"$id":"methods-category/mathematical/intgr/transf","$schema":"http://json-schema.org/draft-07/schema#","description":"Integral transform methods","title":"Integral transform methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}}],"properties":{"tier2":{"enum":["transf"]}}},{"$id":"methods-category/mathematical/intgr","$schema":"http://json-schema.org/draft-07/schema#","title":"Integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["intgr"]}}},{"$id":"methods-category/mathematical/linalg/dcomp","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix decomposition methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["dcomp"]}}},{"$id":"methods-category/mathematical/linalg/diag/davidson","$schema":"http://json-schema.org/draft-07/schema#","title":"Davidson diagonalization method schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix diagonalization methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["diag"]}}}],"properties":{"type":{"enum":["davidson"]}}},{"$id":"methods-category/mathematical/linalg/diag/enum-options","davidson":{"enum":["davidson"]}},{"$id":"methods-category/mathematical/linalg/diag","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix diagonalization methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["diag"]}}},{"$id":"methods-category/mathematical/linalg/enum-options","decomposition":{"enum":["dcomp"]},"diagonalization":{"enum":["diag"]},"linearTransformation":{"enum":["lintra"]},"matrixFunction":{"enum":["matf"]}},{"$id":"methods-category/mathematical/linalg/lintra","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear transformation methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["lintra"]}}},{"$id":"methods-category/mathematical/linalg/matf","$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix function methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["matf"]}}},{"$id":"methods-category/mathematical/linalg","$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}},{"$id":"methods-category/mathematical/opt/diff/bracket","$schema":"http://json-schema.org/draft-07/schema#","title":"Bracket algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["bracket"]}}},{"$id":"methods-category/mathematical/opt/diff/enum-options","bracketing":{"enum":["bracket"]},"localDescent":{"enum":["local"]},"firstOrder":{"enum":["order1"]},"secondOrder":{"enum":["order2"]},"nOrder":{"enum":["ordern"]}},{"$id":"methods-category/mathematical/opt/diff/local","$schema":"http://json-schema.org/draft-07/schema#","title":"Local descent methods for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["local"]}}},{"$id":"methods-category/mathematical/opt/diff/order1","$schema":"http://json-schema.org/draft-07/schema#","title":"First order algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["order1"]}}},{"$id":"methods-category/mathematical/opt/diff/order2","$schema":"http://json-schema.org/draft-07/schema#","title":"Second order algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["order2"]}}},{"$id":"methods-category/mathematical/opt/diff/ordern/cg","$schema":"http://json-schema.org/draft-07/schema#","title":"Conjugate gradient method schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mixed order and higher order algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["ordern"]}}}],"properties":{"type":{"enum":["cg"]}}},{"$id":"methods-category/mathematical/opt/diff/ordern/enum-options","conjugateGradient":{"enum":["cg"]}},{"$id":"methods-category/mathematical/opt/diff/ordern","$schema":"http://json-schema.org/draft-07/schema#","title":"Mixed order and higher order algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["ordern"]}}},{"$id":"methods-category/mathematical/opt/diff","$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}},{"$id":"methods-category/mathematical/opt/enum-options","differentiable":{"enum":["diff"]},"nonDifferentiable":{"enum":["ndiff"]},"rootFinding":{"enum":["root"]}},{"$id":"methods-category/mathematical/opt/ndiff/direct","$schema":"http://json-schema.org/draft-07/schema#","title":"Direct algorithms for the optimization of non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["ndiff"]}}}],"properties":{"tier3":{"enum":["direct"]}}},{"$id":"methods-category/mathematical/opt/ndiff/enum-options","direct":{"enum":["direct"]},"population":{"enum":["pop"]},"stochastic":{"enum":["stoch"]}},{"$id":"methods-category/mathematical/opt/ndiff/pop","$schema":"http://json-schema.org/draft-07/schema#","title":"Population algorithms for the optmization of non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["ndiff"]}}}],"properties":{"tier3":{"enum":["pop"]}}},{"$id":"methods-category/mathematical/opt/ndiff/stoch","$schema":"http://json-schema.org/draft-07/schema#","title":"Stochastic algorithms for the optmization of non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["ndiff"]}}}],"properties":{"tier3":{"enum":["stoch"]}}},{"$id":"methods-category/mathematical/opt/ndiff","$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for non-differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["ndiff"]}}},{"$id":"methods-category/mathematical/opt/root/bracket","$schema":"http://json-schema.org/draft-07/schema#","title":"Bracketing method for finding roots category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Root finding category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["root"]}}}],"properties":{"tier3":{"enum":["bracket"]}}},{"$id":"methods-category/mathematical/opt/root/enum-options","iterative":{"enum":["iterative"]},"bracketing":{"enum":["bracket"]}},{"$id":"methods-category/mathematical/opt/root/iter","$schema":"http://json-schema.org/draft-07/schema#","title":"Iterative method for root finding category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Root finding category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["root"]}}}],"properties":{"tier3":{"enum":["iterative"]}}},{"$id":"methods-category/mathematical/opt/root","$schema":"http://json-schema.org/draft-07/schema#","title":"Root finding category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["root"]}}},{"$id":"methods-category/mathematical/opt","$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}},{"$id":"methods-category/mathematical/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"linear methods category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"type":{"enum":["linear","kernel_ridge"]},"subtype":{"enum":["least_squares","ridge"]}}},{"$id":"methods-category/physical/enum-options","quantumMechanical":{"enum":["qm"]}},{"$id":"methods-category/physical/qm/enum-options","wavefunction":{"enum":["wf"]}},{"$id":"methods-category/physical/qm/wf/ao/dunning","$schema":"http://json-schema.org/draft-07/schema#","title":"Dunning correlation-consistent basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["dunning"]}}},{"$id":"methods-category/physical/qm/wf/ao/other","$schema":"http://json-schema.org/draft-07/schema#","title":"Other (neither Pople nor Dunning) basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["other"]}}},{"$id":"methods-category/physical/qm/wf/ao/pople","$schema":"http://json-schema.org/draft-07/schema#","title":"Pople basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["pople"]}}},{"$id":"methods-category/physical/qm/wf/ao","$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}},{"$id":"methods-category/physical/qm/wf/enum-options","planewave":{"enum":["pw"]},"atomicOrbital":{"enum":["ao"]},"wavelet":{"enum":["wvl"]},"smearing":{"enum":["smearing"]},"tetrahedron":{"enum":["tetrahedron"]},"pseudization":{"enum":["psp"]},"pseudoSubtypes":{"enum":["us","nc","nc-fr","paw","coulomb"]},"smearingSubtypes":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"]},"tetrahedronSubtypes":{"enum":["linear","optimized","bloechl"]},"aoTypes":{"enum":["pople","dunning","other"]}},{"$id":"methods-category/physical/qm/wf/psp","$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["psp"]},"subtype":{"enum":["us","nc","nc-fr","paw","coulomb"]}}},{"$id":"methods-category/physical/qm/wf/pw","$schema":"http://json-schema.org/draft-07/schema#","title":"Plane wave catgeory schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["pw"]}}},{"$id":"methods-category/physical/qm/wf/smearing","$schema":"http://json-schema.org/draft-07/schema#","title":"Smearing methods category schema","description":"Approximating Heaviside step function with smooth function","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["smearing"]},"subtype":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"]}}},{"$id":"methods-category/physical/qm/wf/tetrahedron","$schema":"http://json-schema.org/draft-07/schema#","title":"Tetrahedron method for Brillouin zone integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["tetrahedron"]},"subtype":{"enum":["linear","optimized","bloechl"]}}},{"$id":"methods-category/physical/qm/wf","$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}},{"$id":"methods-category/physical/qm","$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}},{"$id":"methods-directory/legacy/localorbital","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method localorbital","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}],"properties":{"type":{"const":"localorbital"},"subtype":{"const":"pople"}}},{"$id":"methods-directory/legacy/pseudopotential","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method pseudopotential","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}],"properties":{"type":{"const":"pseudopotential"},"subtype":{"enum":["paw","nc","us","any"],"default":"us"}}},{"$id":"methods-directory/legacy/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method regression","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}],"properties":{"type":{"enum":["linear","kernel_ridge"]},"subtype":{"enum":["least_squares","ridge"]},"precision":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}},"required":["trainingError"]}}}},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}},"required":["exabyteIds"]}}}},"required":["precision","data"]},{"$id":"methods-directory/legacy/unknown","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy method unknown","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}],"properties":{"type":{"const":"unknown"},"subtype":{"const":"unknown"}}},{"$id":"methods-directory/mathematical/cg","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit method conjugate gradient","description":"conjugate gradient method schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Conjugate gradient method schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mixed order and higher order algorithms for the optimization of differentiable functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Optimization methods for differentiable functions category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Mathematical opt schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["opt"]}}}],"properties":{"tier2":{"enum":["diff"]}}}],"properties":{"tier3":{"enum":["ordern"]}}}],"properties":{"type":{"enum":["cg"]}}}},"required":["categories"]},{"$id":"methods-directory/mathematical/davidson","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit method davidson schema","description":"Davidson diagonalization method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Davidson diagonalization method schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Matrix diagonalization methods schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Linear Algebra category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["linalg"]}}}],"properties":{"tier2":{"enum":["diag"]}}}],"properties":{"type":{"enum":["davidson"]}}}},"required":["categories"]},{"$id":"methods-directory/mathematical/regression/data","$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}},"required":["exabyteIds"]}}},{"$id":"methods-directory/mathematical/regression/dataset","$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}},"required":["exabyteIds"]},{"$id":"methods-directory/mathematical/regression/kernel-ridge/data-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["xFit","dualCoefficients","perFeature"]},{"$id":"methods-directory/mathematical/regression/linear/data-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["intercept","perFeature"]},{"$id":"methods-directory/mathematical/regression/per-feature-item","$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]},{"$id":"methods-directory/mathematical/regression/precision","$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}},"required":["trainingError"]}}}},{"$id":"methods-directory/mathematical/regression/precision-per-property","$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}},"required":["trainingError"]},{"$id":"methods-directory/mathematical/regression","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method regression","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear methods category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"type":{"enum":["linear","kernel_ridge"]},"subtype":{"enum":["least_squares","ridge"]}}},"precision":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision","type":"object","properties":{"perProperty":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression precision per property schema","type":"object","properties":{"name":{"description":"property name in 'flattened' format","type":"string"},"trainingError":{"description":"training error of the estimator","type":"number"},"score":{"description":"prediction score of the estimator. Eg: r2_score","type":"number"}},"required":["trainingError"]}}}},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression data","type":"object","properties":{"perProperty":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"linear regression parameters schema","type":"object","properties":{"intercept":{"description":"intercept (shift) from the linear or non-linear fit of data points","type":"number"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["intercept","perFeature"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"kernel-ridge regression parameters schema","type":"object","properties":{"xFit":{"description":"training data","type":"array"},"dualCoefficients":{"description":"dual coefficients","type":"array"},"perFeature":{"type":"array","description":"per-feature (property used for training the ML method/model) parameters","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"per-feature (property used for training the ML method/model) parameters schema","type":"object","properties":{"coefficient":{"description":"coefficient in linear regression","type":"number"},"name":{"description":"feature name","type":"string"},"importance":{"description":"pvalue: https://en.wikipedia.org/wiki/P-value","type":"number"}},"required":["name"]}}},"required":["xFit","dualCoefficients","perFeature"]}]}},"dataSet":{"$schema":"http://json-schema.org/draft-07/schema#","description":"dataset for ml","type":"object","properties":{"exabyteIds":{"description":"array of exabyteIds for materials in dataset","type":"array","items":{"type":"string"}},"extra":{"description":"holder for any extra information, eg. coming from user-uploaded CSV file"}},"required":["exabyteIds"]}}}},"required":["categories","precision","data"]},{"$id":"methods-directory/physical/ao/dunning","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao dunning","description":"Dunning correlation-consistent basis set unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dunning correlation-consistent basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["dunning"]}}},"parameters":{"allOf":[{"type":"object","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}}]}},"required":["categories"],"definitions":{"ao-basis-dunning":{"type":"object","properties":{"basisSlug":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]}}}}},{"$id":"methods-directory/physical/ao/enum-options","popleAoBasis":{"enum":["3-21G","6-31G","6-311G"]},"dunningAoBasis":{"enum":["cc-pvdz","cc-pvtz","cc-pvqz"]},"otherAoBasis":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}},{"$id":"methods-directory/physical/ao/other","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao other","description":"Other (neither Pople nor Dunning) basis set unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Other (neither Pople nor Dunning) basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["other"]}}},"parameters":{"allOf":[{"type":"object","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}}]}},"required":["categories"],"definitions":{"ao-basis-other":{"type":"object","properties":{"basisSlug":{"enum":["sto-3g","sto-4g","sto-6g","def2-svp","def2-tzvp","def2-qzvp","cbs-qb3"]}}}}},{"$id":"methods-directory/physical/ao/pople","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method ao pople","description":"Pople basis set unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pople basis set category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Approximating the electronic wave function with a atomic orbital basis schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["ao"]},"subtype":{"enum":["pople","dunning","other"]}}}],"properties":{"subtype":{"enum":["pople"]}}},"parameters":{"allOf":[{"type":"object","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}}]}},"required":["categories"],"definitions":{"ao-basis-pople":{"type":"object","properties":{"basisSlug":{"enum":["3-21G","6-31G","6-311G"]}}}}},{"$id":"methods-directory/physical/psp/file","$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential file","type":"object","properties":{"slug":{"enum":["pseudopotential"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}}}}},"required":["element","type","exchangeCorrelation","source","path","apps","name","hash"]},"source":{"type":"object","description":"TODO: remove in the future","properties":{"info":{"type":"object"},"type":{"type":"string"}}}}},{"$id":"methods-directory/physical/psp/file-data-item","$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}}}}},"required":["element","type","exchangeCorrelation","source","path","apps","name","hash"]},{"$id":"methods-directory/physical/psp","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method pseudopotential","description":"Core-valence separation by means of pseudopotentials (effective potential)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["psp"]},"subtype":{"enum":["us","nc","nc-fr","paw","coulomb"]}}},"data":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pseudopotential file","type":"object","properties":{"slug":{"enum":["pseudopotential"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}}}}},"required":["element","type","exchangeCorrelation","source","path","apps","name","hash"]},"source":{"type":"object","description":"TODO: remove in the future","properties":{"info":{"type":"object"},"type":{"type":"string"}}}}}}},"required":["categories"]},{"$id":"methods-directory/physical/pw","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method plane wave","description":"Approximating the electronic wave function with a plane wave basis","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Plane wave catgeory schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["pw"]}}}},"required":["categories"]},{"$id":"methods-directory/physical/smearing","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method smearing","description":"Approximating Heaviside step function with smooth function","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Smearing methods category schema","description":"Approximating Heaviside step function with smooth function","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["smearing"]},"subtype":{"enum":["gaussian","marzari-vanderbilt","methfessel-paxton","fermi-dirac"]}}}},"required":["categories"]},{"$id":"methods-directory/physical/tetrahedron","$schema":"http://json-schema.org/draft-07/schema#","title":"unit method tetrahedron","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Tetrahedron method for Brillouin zone integration category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Methods related to wave functions schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum-Mechanical method category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["qm"]}}}],"properties":{"tier2":{"enum":["wf"]}}}],"properties":{"type":{"enum":["tetrahedron"]},"subtype":{"enum":["linear","optimized","bloechl"]}}}},"required":["categories"]},{"$id":"model/categorized-model","$schema":"http://json-schema.org/draft-07/schema#","title":"categorized model","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"units":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"categorized unit method","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"description":"Instructive parameters defining the method","type":"object"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"}}}}},"required":["units"]}},"required":["method"]},{"$id":"model/mixins/dft/double-hybrid-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","properties":{"functional":{"enum":["b2plyp"]}}},{"$id":"model/mixins/dft/enum-options","lda":{"enum":["pz"]},"gga":{"enum":["pbe","pbesol"]},"mgga":{"enum":["scan"]},"hybrid":{"enum":["hse06","b3lyp"]},"doubleHybrid":{"enum":["b2plyp"]}},{"$id":"model/mixins/dft/gga-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"$id":"model/mixins/dft/hybrid-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","properties":{"functional":{"enum":["hse06","b3lyp"]}}},{"$id":"model/mixins/dft/lda-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"$id":"model/mixins/dft/mgga-functional","$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true},{"$id":"model/mixins/dispersion-correction","$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$id":"model/mixins/enum-options","spinPolarization":{"enum":["collinear","non-collinear"]},"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]},"hubbardType":{"enum":["u"]}},{"$id":"model/mixins/hubbard","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}},{"$id":"model/mixins/spin-orbit-coupling","$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$id":"model/mixins/spin-polarization","$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$id":"model/model-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"ModelParameters","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","properties":{"functional":{"enum":["hse06","b3lyp"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","properties":{"functional":{"enum":["b2plyp"]}}}]}]},{"$id":"model/model-without-method","$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]},{"$id":"model","$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},{"$id":"models-category/enum-options","physicsBased":{"enum":["pb"]},"statistical":{"enum":["st"]}},{"$id":"models-category/pb/enum-options","quantumMechanical":{"enum":["qm"]}},{"$id":"models-category/pb/qm/abin/enum-options","gwApproximation":{"enum":["gw"]},"gwSubtypes":{"enum":["g0w0","evgw0","evgw"]}},{"$id":"models-category/pb/qm/abin/gw","$schema":"http://json-schema.org/draft-07/schema#","title":"GW category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ab initio category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["abin"]}}}],"properties":{"type":{"enum":["gw"]},"subtype":{"enum":["g0w0","evgw0","evgw"]}}},{"$id":"models-category/pb/qm/abin","$schema":"http://json-schema.org/draft-07/schema#","title":"Ab initio category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["abin"]}}},{"$id":"models-category/pb/qm/dft/enum-options","kohnSham":{"enum":["ksdft"]}},{"$id":"models-category/pb/qm/dft/ksdft/double-hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT double hybrid functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["double-hybrid"]}}},{"$id":"models-category/pb/qm/dft/ksdft/enum-options","localDensityApproximation":{"enum":["lda"]},"generalizedGradientApproximation":{"enum":["gga"]},"metaGGA":{"enum":["mgga"]},"hybrid":{"enum":["hybrid"]},"doubleHybrid":{"enum":["double-hybrid"]}},{"$id":"models-category/pb/qm/dft/ksdft/gga","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["gga"]}}},{"$id":"models-category/pb/qm/dft/ksdft/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["hybrid"]}}},{"$id":"models-category/pb/qm/dft/ksdft/lda","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["lda"]}}},{"$id":"models-category/pb/qm/dft/ksdft/mgga","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT meta-GGA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["mgga"]}}},{"$id":"models-category/pb/qm/dft/ksdft","$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}},{"$id":"models-category/pb/qm/dft","$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}},{"$id":"models-category/pb/qm/enum-options","abInitio":{"enum":["abin"]},"densityFunctional":{"enum":["dft"]},"semiEmpirical":{"enum":["semp"]}},{"$id":"models-category/pb/qm/semp","$schema":"http://json-schema.org/draft-07/schema#","title":"Semi-empirical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["semp"]}}},{"$id":"models-category/pb/qm","$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}},{"$id":"models-category/pb","$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}},{"$id":"models-category/st/det/enum-options","machineLearning":{"enum":["ml"]}},{"$id":"models-category/st/det/ml/enum-options","regression":{"enum":["re"]}},{"$id":"models-category/st/det/ml/re","$schema":"http://json-schema.org/draft-07/schema#","title":"regression model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"machine learning model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"deterministic model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["st"]}}}],"properties":{"tier2":{"enum":["det"]}}}],"properties":{"tier3":{"enum":["ml"]}}}],"properties":{"type":{"enum":["re"]}}},{"$id":"models-category/st/det/ml","$schema":"http://json-schema.org/draft-07/schema#","title":"machine learning model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"deterministic model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["st"]}}}],"properties":{"tier2":{"enum":["det"]}}}],"properties":{"tier3":{"enum":["ml"]}}},{"$id":"models-category/st/det","$schema":"http://json-schema.org/draft-07/schema#","title":"deterministic model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["st"]}}}],"properties":{"tier2":{"enum":["det"]}}},{"$id":"models-category/st/enum-options","deterministic":{"enum":["det"]}},{"$id":"models-category/st","$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["st"]}}},{"$id":"models-directory/double-hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"model double hybrid functional","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT double hybrid functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["double-hybrid"]}}},"parameters":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Double hybrid functional mixin","type":"object","properties":{"functional":{"enum":["b2plyp"]}}},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/gga","$schema":"http://json-schema.org/draft-07/schema#","title":"model generalized gradient approximation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["gga"]}}},"parameters":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/gw","$schema":"http://json-schema.org/draft-07/schema#","title":"model gw approximation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"GW category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ab initio category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["abin"]}}}],"properties":{"type":{"enum":["gw"]},"subtype":{"enum":["g0w0","evgw0","evgw"]}}},"parameters":{"allOf":[{"type":"object","properties":{"require":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"GGA functional mixin","type":"object","properties":{"functional":{"enum":["pbe","pbesol"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true}]},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"model hybrid functional","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["hybrid"]}}},"parameters":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hybrid functional mixin","type":"object","properties":{"functional":{"enum":["hse06","b3lyp"]}}},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/lda","$schema":"http://json-schema.org/draft-07/schema#","title":"model local density approximation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["lda"]}}},"parameters":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"LDA functional mixin","type":"object","properties":{"functional":{"enum":["pz"]}},"additionalProperties":true},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/legacy/dft","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model density functional theory","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},{"oneOf":[{"properties":{"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]}}},{"properties":{"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]}}},{"properties":{"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06"]}}}]}],"properties":{"type":{"const":"dft"}},"definitions":{"lda":{"properties":{"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]}}},"gga":{"properties":{"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]}}},"hybrid":{"properties":{"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06"]}}}}},{"$id":"models-directory/legacy/ml","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model regression","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]}],"properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]}}},{"$id":"models-directory/legacy/unknown","$schema":"http://json-schema.org/draft-07/schema#","title":"legacy model unknown","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]}],"properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]}}},{"$id":"models-directory/mgga","$schema":"http://json-schema.org/draft-07/schema#","title":"model meta generalized gradient approximation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT meta-GGA functional category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Kohn-Sham DFT category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density functional theory category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Quantum mechanical category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"physics-based model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["pb"]}}}],"properties":{"tier2":{"enum":["qm"]}}}],"properties":{"tier3":{"enum":["dft"]}}}],"properties":{"type":{"enum":["ksdft"]}}}],"properties":{"subtype":{"enum":["mgga"]}}},"parameters":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Meta-GGA functional mixin","type":"object","properties":{"functional":{"enum":["scan"]}},"additionalProperties":true},{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-orbit coupling mixin","type":"object","properties":{"spinOrbitCoupling":{"type":"boolean"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dispersion correction mixin","type":"object","properties":{"dispersionCorrection":{"enum":["dft-d2","dft-d3","xdm","ts"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Spin-polarization mixin","type":"object","properties":{"spinPolarization":{"enum":["collinear","non-collinear"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard model mixin","type":"object","properties":{"hubbardType":{"enum":["u"]}}}]}]}},"required":["categories","parameters"]},{"$id":"models-directory/re","$schema":"http://json-schema.org/draft-07/schema#","title":"model regression","description":"machine learning model type/subtype schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"model without method schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}},"parameters":{"type":"object","description":"Model parameters defined in-place or via model mixins"},"reference":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}},"required":["categories","parameters"]}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"regression model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"machine learning model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"deterministic model category schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"statistical model category schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable categories schema","description":"Used to categorize entities such as models and methods","type":"object","properties":{"tier1":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier2":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"tier3":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]},"subtype":{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry or slug","description":"contains either object with slugified entry or slug only as a string","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"slugified entry","description":"container for machine- and human-readable identifier","type":"object","properties":{"name":{"description":"descriptive human-readable name of entry","type":"string"},"slug":{"description":"machine-readable identifier","type":"string"}},"required":["name","slug"]},{"type":"string"}]}}}],"properties":{"tier1":{"enum":["st"]}}}],"properties":{"tier2":{"enum":["det"]}}}],"properties":{"tier3":{"enum":["ml"]}}}],"properties":{"type":{"enum":["re"]}}},"parameters":{"type":"object"}},"required":["categories","parameters"]},{"$id":"project","$schema":"http://json-schema.org/draft-07/schema#","title":"project schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"gid":{"description":"project GID","type":"number"},"clusterBasedChargeRates":{"description":"charge rates info for project","type":"array","items":{"type":"object","properties":{"rate":{"type":"number"},"timestamp":{"type":"number"},"hostname":{"type":"string"}}}},"isExternal":{"type":"boolean","default":false}}},{"$id":"properties-directory/derived-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"derived properties schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}}],"discriminator":{"propertyName":"name"},"required":["name"]}},{"$id":"properties-directory/electronic-configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"electronic configuration schema","type":"object","properties":{"charge":{"description":"total charge of the molecular system","type":"integer"},"multiplicity":{"description":"calculated as 2S+1, with S is the total spin angular momentum","type":"integer"}}},{"$id":"properties-directory/elemental/atomic-radius","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic radius","description":"atomic radius","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["atomic_radius"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["name"]},{"$id":"properties-directory/elemental/electronegativity","$schema":"http://json-schema.org/draft-07/schema#","title":"electronegativity","description":"electronegativity for the element (Pauling scale)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["electronegativity"]}},"required":["name"]},{"$id":"properties-directory/elemental/ionization-potential","$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential elemental property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["ionization_potential"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name","units"]},{"$id":"properties-directory/jupyter-notebook-endpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter notebook endpoint property schema","type":"object","properties":{"name":{"enum":["jupyter_notebook_endpoint"]},"host":{"type":"string"},"port":{"type":"number"},"token":{"type":"string"}},"required":["name","host","port","token"]},{"$id":"properties-directory/non-scalar/average-potential-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Average potential profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"properties":{"label":{"enum":["z coordinate"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}}},"yAxis":{"properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["average_potential_profile"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/band-gaps","$schema":"http://json-schema.org/draft-07/schema#","title":"Band gaps property schema","description":"contains band gap values","type":"object","properties":{"name":{"enum":["band_gaps"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["type"]}},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"kpoint":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"weight":{"type":"number"},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"spin":{"type":"number"},"energies":{"type":"array"},"occupations":{"type":"array"}}}}}}}},"required":["name","values"]},{"$id":"properties-directory/non-scalar/band-structure","$schema":"http://json-schema.org/draft-07/schema#","title":"Band structure property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["kpoints"]},"units":{"enum":["crystal","cartesian"],"default":"crystal"}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["band_structure"]},"spin":{"description":"spin of each band","type":"array","items":{"type":"number","enum":[0.5,-0.5]}}},"required":["name","spin","xAxis","yAxis"]},{"$id":"properties-directory/non-scalar/charge-density-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Charge density profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["z coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["charge density"]},"units":{"enum":["e/A"]}}},"name":{"enum":["charge_density_profile"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/density-of-states","$schema":"http://json-schema.org/draft-07/schema#","title":"Density of states property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["density of states"]},"units":{"enum":["states/unitcell"]}}},"name":{"enum":["density_of_states"]},"legend":{"type":"array","items":{"type":"object","properties":{"element":{"description":"chemical element","type":"string"},"index":{"description":"index inside sub-array of atoms of the same element type","type":"integer"},"electronicState":{"description":"electronic character and shell of PDOS, such as `1s` or `s`, or `total`","type":"string","pattern":"^([1-5]{1})?(s|p|d|f|g).*$"},"spin":{"description":"spin of the electronic state","type":"number","enum":[0.5,-0.5]}}}}},"required":["name","legend"]},{"$id":"properties-directory/non-scalar/dielectric-tensor","$schema":"http://json-schema.org/draft-07/schema#","title":"dielectric tensor property schema","description":"The real and imaginary parts of the diagonal elements of the dieletric tensor","type":"object","properties":{"name":{"enum":["dielectric_tensor"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"","description":"Schema for a function of frequency yielding a nx3 matrix","type":"object","properties":{"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}],"properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"}},"required":["part","frequencies","components"]}}},"required":["name","values"]},{"$id":"properties-directory/non-scalar/file-content","$schema":"http://json-schema.org/draft-07/schema#","title":"File content property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"name":{"enum":["file_content"]},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string","enum":["image","text","csv"],"$comment":"isGenerative:true"},"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}}},"required":["name","filetype","objectData"]},{"$id":"properties-directory/non-scalar/final-structure","$schema":"http://json-schema.org/draft-07/schema#","title":"Final structure property schema","type":"object","properties":{"name":{"enum":["final_structure"]},"isRelaxed":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","isRelaxed","materialId"]},{"$id":"properties-directory/non-scalar/hubbard-u","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U parameters property schema","description":"Hubbard U values in eV corresponding to atomic species, orbital and site number.","type":"object","properties":{"name":{"enum":["hubbard_u"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital","description":"Atomic properties per orbital e.g., Hubbard U parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","atomicSpecies","orbitalName","value"]}}},"required":["name","values","units"]},{"$id":"properties-directory/non-scalar/hubbard-v","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V parameters property schema","description":"Hubbard V values corresponding to atomic pairs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","id2","atomicSpecies","atomicSpecies2","value"]}}},"required":["values","units"]}],"properties":{"name":{"enum":["hubbard_v"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/hubbard-v-nn","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V NN parameters property schema","description":"Hubbard V value in eV for nearest neighbors used in hp.x output parsing","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","id2","atomicSpecies","atomicSpecies2","value"]}}},"required":["values","units"]}],"properties":{"name":{"enum":["hubbard_v_nn"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/is-relaxed","$schema":"http://json-schema.org/draft-07/schema#","title":"Is relaxed property schema","type":"object","properties":{"name":{"enum":["is_relaxed"]},"value":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","value","materialId"]},{"$id":"properties-directory/non-scalar/phonon-dispersions","$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon band structure property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["qpoints"]},"units":{"enum":["crystal","cartesian"],"default":"crystal"}}},"yAxis":{"type":"object","properties":{"label":{"enum":["frequency"]},"units":{"enum":["cm-1","THz","meV"]}}},"name":{"enum":["phonon_dispersions"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/phonon-dos","$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon density of states property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["frequency"]},"units":{"enum":["cm-1","THz","meV"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["Phonon DOS"]},"units":{"enum":["states/cm-1","states/THz","states/meV"]}}},"name":{"enum":["phonon_dos"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/potential-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Potential profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["z coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["potential_profile"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/reaction-energy-profile","$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["reaction coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["reaction_energy_profile"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/stress-tensor","$schema":"http://json-schema.org/draft-07/schema#","title":"Stress tensor property schema","type":"object","properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"name":{"enum":["stress_tensor"]},"units":{"enum":["kbar","pa"]}},"required":["name","value","units"]},{"$id":"properties-directory/non-scalar/total-energy-contributions","$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy contributions property schema","type":"object","properties":{"temperatureEntropy":{"description":"product of temperature and configurational entropy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["temperature_entropy"]}}},"harris_foulkes":{"description":"non self-consitent energy based on an input charge density","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["harris_foulkes"]}}},"smearing":{"description":"smearing energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["smearing"]}}},"one_electron":{"description":"kinetic + pseudopotential energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["one_electron"]}}},"hartree":{"description":"energy due to coulomb potential","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["hartree"]}}},"exchange":{"description":"exchange energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["exchange"]}}},"exchange_correlation":{"description":"exchange and correlation energy per particle","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["exchange_correlation"]}}},"ewald":{"description":"summation of interaction energies at long length scales due to coloumbic interactions","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["ewald"]}}},"alphaZ":{"description":"divergent electrostatic ion interaction in compensating electron gas","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["alphaZ"]}}},"atomicEnergy":{"description":"kinetic energy of wavefunctions in the atomic limit","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["atomic_energy"]}}},"eigenvalues":{"description":"sum of one electron energies of kinetic, electrostatic, and exchange correlation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["eigenvalues"]}}},"PAWDoubleCounting2":{"description":"double counting correction 2","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["PAW_double-counting_correction_2"]}}},"PAWDoubleCounting3":{"description":"double counting correction 3","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["PAW_double-counting_correction_3"]}}},"hartreeFock":{"description":"hartree-fock contribution","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["hartree_fock"]}}},"name":{"enum":["total_energy_contributions"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/vibrational-spectrum","$schema":"http://json-schema.org/draft-07/schema#","title":"Vibrational spectrum property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["frequency","wavenumber"]},"units":{"enum":["cm-1","THz","meV"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["Intensity","Absorbance","Absorption coefficient"]},"units":{"enum":["(debye/angstrom)^2","km/mol","m/mol","a.u."]}}},"name":{"enum":["vibrational_spectrum"]}},"required":["name"]},{"$id":"properties-directory/non-scalar/workflow","$schema":"http://json-schema.org/draft-07/schema#","title":"Workflow property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}}}}],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]}],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","application"]}]}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"enum":["subworkflow"]}}}]}],"discriminator":{"propertyName":"type"},"required":["type"]}}},"required":["units","subworkflows"]}],"properties":{"name":{"enum":["workflow:pyml_predict"]}},"required":["name"]},{"$id":"properties-directory/reusable/hubbard-parameters","$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","id2","atomicSpecies","atomicSpecies2","value"]}}},"required":["values","units"]},{"$id":"properties-directory/scalar/electron-affinity","$schema":"http://json-schema.org/draft-07/schema#","title":"Electron affinity property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["electron_affinity"]}},"required":["name"]},{"$id":"properties-directory/scalar/fermi-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Fermi energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["fermi_energy"]}},"required":["name"]},{"$id":"properties-directory/scalar/formation-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["formation_energy"]}},"required":["name"]},{"$id":"properties-directory/scalar/ionization-potential","$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential scalar property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["ionization_potential"]}},"required":["name"]},{"$id":"properties-directory/scalar/pressure","$schema":"http://json-schema.org/draft-07/schema#","title":"Pressure property schema","description":"average pressure in unit cell","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["pressure"]},"units":{"enum":["kbar","pa"]}},"required":["name","units"]},{"$id":"properties-directory/scalar/reaction-energy-barrier","$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy barrier property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["reaction_energy_barrier"]}},"required":["name"]},{"$id":"properties-directory/scalar/surface-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Surface energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["surface_energy"]}},"required":["name"]},{"$id":"properties-directory/scalar/total-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["total_energy"]}},"required":["name","units"]},{"$id":"properties-directory/scalar/total-force","$schema":"http://json-schema.org/draft-07/schema#","title":"Total forces property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["total_force"]},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}},"required":["name","units"]},{"$id":"properties-directory/scalar/valence-band-offset","$schema":"http://json-schema.org/draft-07/schema#","title":"Valence band offset property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["valence_band_offset"]}},"required":["name"]},{"$id":"properties-directory/scalar/zero-point-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Zero point energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["zero_point_energy"]}},"required":["name"]},{"$id":"properties-directory/structural/atomic-forces","$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic forces property schema","description":"coordinates of atoms by ids, vector, unitless","type":"object","properties":{"name":{"enum":["atomic_forces"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}},"required":["name","units","values"]},{"$id":"properties-directory/structural/basis/atomic-constraint","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]}}},{"$id":"properties-directory/structural/basis/atomic-constraints","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]}}}},{"$id":"properties-directory/structural/basis/atomic-constraints-property","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints property schema","description":"atomic constraints property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["atomic_constraints"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]}}}}},"required":["name","values"]},{"$id":"properties-directory/structural/basis/atomic-coordinate","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}},{"$id":"properties-directory/structural/basis/atomic-coordinates","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},{"$id":"properties-directory/structural/basis/atomic-element","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}},{"$id":"properties-directory/structural/basis/atomic-elements","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},{"$id":"properties-directory/structural/basis/atomic-label","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}},{"$id":"properties-directory/structural/basis/atomic-labels","$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}},{"$id":"properties-directory/structural/basis/bonds","$schema":"http://json-schema.org/draft-07/schema#","title":"bonds schema","type":"array","items":{"type":"object","properties":{"atomPair":{"description":"indices of the two connected atoms","type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"minItems":2,"maxItems":2},"bondType":{"type":"string","enum":["single","double","triple","quadruple","aromatic","tautomeric","dative","other"]}}},"uniqueItems":true},{"$id":"properties-directory/structural/basis/boundary-conditions","$schema":"http://json-schema.org/draft-07/schema#","title":"boundary conditions property schema","description":"boundary conditions property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["boundary_conditions"]},"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["name","type","offset"]},{"$id":"properties-directory/structural/basis/units-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},{"$id":"properties-directory/structural/basis","$schema":"http://json-schema.org/draft-07/schema#","title":"basis schema","type":"object","properties":{"elements":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic elements schema","description":"atomic elements schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic element schema","description":"chemical element of an atom according to the periodic table","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic string schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"type":"string"}}}],"properties":{"value":{"description":"All elements, including extra elements","anyOf":[{"enum":["H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"]},{"description":"Extra elements, used for convenience purposed","enum":["X","Vac"]}]}}}},"coordinates":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinates schema","description":"atomic coordinates schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic coordinate schema","description":"coordinate of an atom","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis units enum","allOf":[{"enum":["crystal","cartesian"],"default":"crystal"}]},"labels":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic labels schema","description":"atomic labels schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic label schema","description":"Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"anyOf":[{"type":["integer","string","number"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"integer positive single digit","type":"integer","minimum":1,"maximum":9}]}}}}},"required":["elements","coordinates"]},{"$id":"properties-directory/structural/density","$schema":"http://json-schema.org/draft-07/schema#","title":"density schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["density"]},"units":{"enum":["g/cm^3"]}}},{"$id":"properties-directory/structural/elemental-ratio","$schema":"http://json-schema.org/draft-07/schema#","title":"elemental-ratio","description":"ration of this element in the compound","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["elemental_ratio"]},"value":{"type":"number","minimum":0,"maximum":1},"element":{"type":"string","description":"the element this ratio is for"}}},{"$id":"properties-directory/structural/inchi","$schema":"http://json-schema.org/draft-07/schema#","title":"InChI representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi"]}}},{"$id":"properties-directory/structural/inchi-key","$schema":"http://json-schema.org/draft-07/schema#","title":"InChI key representation schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"PrimitiveString","type":"object","properties":{"value":{"type":"string"}},"required":["value"]}],"properties":{"name":{"enum":["inchi_key"]}}},{"$id":"properties-directory/structural/lattice/type-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},{"$id":"properties-directory/structural/lattice/type-extended-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type extended enum","type":"string","enum":["BCC","BCT-1","BCT-2","CUB","FCC","HEX","MCL","MCLC-1","MCLC-2","MCLC-3","MCLC-4","MCLC-5","ORC","ORCC","ORCF-1","ORCF-2","ORCF-3","ORCI","RHL-1","RHL-2","TET","TRI_1a","TRI_1b","TRI_2a","TRI_2b"]},{"$id":"properties-directory/structural/lattice/units/angle-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]},{"$id":"properties-directory/structural/lattice/units/length-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},{"$id":"properties-directory/structural/lattice/units","$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}},{"$id":"properties-directory/structural/lattice/vectors/units-enum","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},{"$id":"properties-directory/structural/lattice/vectors","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},{"$id":"properties-directory/structural/lattice","$schema":"http://json-schema.org/draft-07/schema#","title":"lattice schema","type":"object","properties":{"a":{"description":"length of the first lattice vector","type":"number"},"b":{"description":"length of the second lattice vector","type":"number"},"c":{"description":"length of the third lattice vector","type":"number"},"alpha":{"description":"angle between first and second lattice vector","type":"number"},"beta":{"description":"angle between second and third lattice vector","type":"number"},"gamma":{"description":"angle between first and third lattice vector","type":"number"},"vectors":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors schema","type":"object","properties":{"a":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"b":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"c":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]},"alat":{"description":"lattice parameter for fractional coordinates","type":"number","default":1},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice vectors units enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]}},"required":["a","b","c"]},"type":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice type enum","type":"string","enum":["CUB","BCC","FCC","TET","MCL","ORC","ORCC","ORCF","ORCI","HEX","BCT","TRI","MCLC","RHL"],"default":"TRI"},"units":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Lattice units schema","type":"object","properties":{"length":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units length enum","allOf":[{"enum":["angstrom","bohr"],"default":"angstrom"}]},"angle":{"$schema":"http://json-schema.org/draft-07/schema#","title":"lattice units angle enum","allOf":[{"enum":["degree","radian"],"default":"degree"}]}},"default":{"length":"angstrom","angle":"degree"}}},"required":["a","b","c","alpha","beta","gamma"]},{"$id":"properties-directory/structural/magnetic-moments","$schema":"http://json-schema.org/draft-07/schema#","title":"Magnetic moments property schema","description":"magnetization on each ion","type":"object","properties":{"name":{"enum":["magnetic_moments"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"enum":["uB"]}},"required":["name","values","units"]},{"$id":"properties-directory/structural/molecular-pattern","$schema":"http://json-schema.org/draft-07/schema#","title":"molecular pattern schema","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"functional group pattern schema","type":"object","properties":{"name":{"enum":["functional_group"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}},"SMARTS":{"description":"SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ring pattern schema","type":"object","properties":{"name":{"enum":["ring"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}},"isAromatic":{"type":"boolean"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"special bond pattern schema","type":"object","description":"Any bonding interaction that cannot be described by simple 2-atom picture, e.g. 3-center-2-electron bond in diborane","properties":{"name":{"enum":["special_bond"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}}},"required":["name"]}]}},{"$id":"properties-directory/structural/p-norm","$schema":"http://json-schema.org/draft-07/schema#","title":"p_norm","description":"https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["p-norm"]},"degree":{"type":"integer","description":"degree of the dimensionality of the norm"}}},{"$id":"properties-directory/structural/patterns/functional-group","$schema":"http://json-schema.org/draft-07/schema#","title":"functional group pattern schema","type":"object","properties":{"name":{"enum":["functional_group"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}},"SMARTS":{"description":"SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification","type":"string"}},"required":["name"]},{"$id":"properties-directory/structural/patterns/ring","$schema":"http://json-schema.org/draft-07/schema#","title":"ring pattern schema","type":"object","properties":{"name":{"enum":["ring"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}},"isAromatic":{"type":"boolean"}},"required":["name"]},{"$id":"properties-directory/structural/patterns/special-bond","$schema":"http://json-schema.org/draft-07/schema#","title":"special bond pattern schema","type":"object","description":"Any bonding interaction that cannot be described by simple 2-atom picture, e.g. 3-center-2-electron bond in diborane","properties":{"name":{"enum":["special_bond"]},"atoms":{"type":"array","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of ids","description":"array of objects containing integer id each","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}}],"items":{"type":"object","properties":{"isConnector":{"description":"whether atom connects to atoms outside of functional group.","type":"boolean"}}}}},"required":["name"]},{"$id":"properties-directory/structural/symmetry","$schema":"http://json-schema.org/draft-07/schema#","title":"symmetry schema","type":"object","properties":{"pointGroupSymbol":{"description":"point group symbol in Schoenflies notation","type":"string"},"spaceGroupSymbol":{"description":"space group symbol in Hermann–Mauguin notation","type":"string"},"tolerance":{"type":"object","description":"tolerance used for symmetry calculation","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["angstrom"]}}},"name":{"enum":["symmetry"]}}},{"$id":"properties-directory/structural/volume","$schema":"http://json-schema.org/draft-07/schema#","title":"volume schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["volume"]},"units":{"enum":["angstrom^3"]}}},{"$id":"properties-directory/workflow/convergence/electronic","$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence electronic property schema","type":"object","properties":{"name":{"enum":["convergence_electronic"]},"units":{"enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"required":["data","name","units"]},{"$id":"properties-directory/workflow/convergence/ionic","$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence ionic property schema","type":"object","properties":{"name":{"enum":["convergence_ionic"]},"tolerance":{"description":"for ionic convergence tolerance shows force tolerance"},"units":{"description":"units for force tolerance","enum":["eV"]},"data":{"type":"array","description":"energetic and structural information","items":{"type":"object","properties":{"energy":{"description":"converged electronic energy for this structure (last in `electronic`)","type":"number"},"structure":{"description":"TODO: structural information at each step to be here","type":"object"},"electronic":{"description":"data about electronic at this ionic step","type":"object","properties":{"units":{"description":"units for force tolerance","enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"number"}}}}},"required":["energy"]}}},"required":["data","name","units"]},{"$id":"properties-directory/workflow/convergence/kpoint","$schema":"http://json-schema.org/draft-07/schema#","title":"convergence schema for converging a property wrt kpoints","type":"object","properties":{"tolerance":{"description":"tolerance for the property under investigation"},"units":{"description":"units for the property under investigation","type":"string"},"property":{"description":"name of the property under investigation","type":"string"},"data":{"type":"array","description":"kpoint grid and property information","items":{"type":"object","properties":{"value":{"description":"value of the property at this step"},"grid":{"description":"information about the kpoint grid","type":"object"},"spacing":{"description":"optional kpoint spacing information","type":"number"}},"required":["value","grid"]}}},"required":["tolerance","units","data"]},{"$id":"property/holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Property holder schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}}],"properties":{"group":{"description":"property group, e.g. qe:dft:gga:pbe","type":"string"},"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Valence band offset property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["valence_band_offset"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Zero point energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["zero_point_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Pressure property schema","description":"average pressure in unit cell","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["pressure"]},"units":{"enum":["kbar","pa"]}},"required":["name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy barrier property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["reaction_energy_barrier"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Surface energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["surface_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["total_energy"]}},"required":["name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total forces property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["total_force"]},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}},"required":["name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Fermi energy property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["fermi_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ionization potential scalar property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"energy schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"type":"string"},"units":{"oneOf":[{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["ionization_potential"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Stress tensor property schema","type":"object","properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"matrix 3x3 schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"minItems":3,"maxItems":3},"name":{"enum":["stress_tensor"]},"units":{"enum":["kbar","pa"]}},"required":["name","value","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Band gaps property schema","description":"contains band gap values","type":"object","properties":{"name":{"enum":["band_gaps"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"band gap schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"kpointConduction":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"kpointValence":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"eigenvalueConduction":{"description":"eigenvalue at k-point in conduction band","type":"number"},"eigenvalueValence":{"description":"eigenvalue at k-point in valence band","type":"number"},"spin":{"type":"number"},"type":{"type":"string","enum":["direct","indirect"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["type"]}},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"kpoint":{"$schema":"http://json-schema.org/draft-07/schema#","title":"kpoint schema","description":"A k-point is a point in reciprocal space of a crystal.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}]},"weight":{"type":"number"},"eigenvalues":{"type":"array","items":{"type":"object","properties":{"spin":{"type":"number"},"energies":{"type":"array"},"occupations":{"type":"array"}}}}}}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Band structure property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["kpoints"]},"units":{"enum":["crystal","cartesian"],"default":"crystal"}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["band_structure"]},"spin":{"description":"spin of each band","type":"array","items":{"type":"number","enum":[0.5,-0.5]}}},"required":["name","spin","xAxis","yAxis"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon band structure property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["qpoints"]},"units":{"enum":["crystal","cartesian"],"default":"crystal"}}},"yAxis":{"type":"object","properties":{"label":{"enum":["frequency"]},"units":{"enum":["cm-1","THz","meV"]}}},"name":{"enum":["phonon_dispersions"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Total energy contributions property schema","type":"object","properties":{"temperatureEntropy":{"description":"product of temperature and configurational entropy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["temperature_entropy"]}}},"harris_foulkes":{"description":"non self-consitent energy based on an input charge density","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["harris_foulkes"]}}},"smearing":{"description":"smearing energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["smearing"]}}},"one_electron":{"description":"kinetic + pseudopotential energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["one_electron"]}}},"hartree":{"description":"energy due to coulomb potential","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["hartree"]}}},"exchange":{"description":"exchange energy","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["exchange"]}}},"exchange_correlation":{"description":"exchange and correlation energy per particle","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["exchange_correlation"]}}},"ewald":{"description":"summation of interaction energies at long length scales due to coloumbic interactions","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["ewald"]}}},"alphaZ":{"description":"divergent electrostatic ion interaction in compensating electron gas","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["alphaZ"]}}},"atomicEnergy":{"description":"kinetic energy of wavefunctions in the atomic limit","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["atomic_energy"]}}},"eigenvalues":{"description":"sum of one electron energies of kinetic, electrostatic, and exchange correlation","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["eigenvalues"]}}},"PAWDoubleCounting2":{"description":"double counting correction 2","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["PAW_double-counting_correction_2"]}}},"PAWDoubleCounting3":{"description":"double counting correction 3","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["PAW_double-counting_correction_3"]}}},"hartreeFock":{"description":"hartree-fock contribution","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["hartree_fock"]}}},"name":{"enum":["total_energy_contributions"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Phonon density of states property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["frequency"]},"units":{"enum":["cm-1","THz","meV"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["Phonon DOS"]},"units":{"enum":["states/cm-1","states/THz","states/meV"]}}},"name":{"enum":["phonon_dos"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Potential profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["z coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["potential_profile"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reaction energy profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["reaction coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["reaction_energy_profile"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Density of states property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["density of states"]},"units":{"enum":["states/unitcell"]}}},"name":{"enum":["density_of_states"]},"legend":{"type":"array","items":{"type":"object","properties":{"element":{"description":"chemical element","type":"string"},"index":{"description":"index inside sub-array of atoms of the same element type","type":"integer"},"electronicState":{"description":"electronic character and shell of PDOS, such as `1s` or `s`, or `total`","type":"string","pattern":"^([1-5]{1})?(s|p|d|f|g).*$"},"spin":{"description":"spin of the electronic state","type":"number","enum":[0.5,-0.5]}}}}},"required":["name","legend"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dielectric tensor property schema","description":"The real and imaginary parts of the diagonal elements of the dieletric tensor","type":"object","properties":{"name":{"enum":["dielectric_tensor"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Dielectric Tensor","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"","description":"Schema for a function of frequency yielding a nx3 matrix","type":"object","properties":{"frequencies":{"description":"Frequencies","type":"array","items":{"type":"number"}},"components":{"description":"Matrix with 3 columns, e.g. x, y, z","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}],"properties":{"part":{"description":"Real or imaginary part of the dielectric tensor component","type":"string","enum":["real","imaginary"]},"spin":{"type":"number"}},"required":["part","frequencies","components"]}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"File content property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"name":{"enum":["file_content"]},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string","enum":["image","text","csv"],"$comment":"isGenerative:true"},"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}}},"required":["name","filetype","objectData"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U parameters property schema","description":"Hubbard U values in eV corresponding to atomic species, orbital and site number.","type":"object","properties":{"name":{"enum":["hubbard_u"]},"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital","description":"Atomic properties per orbital e.g., Hubbard U parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","atomicSpecies","orbitalName","value"]}}},"required":["name","values","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V parameters property schema","description":"Hubbard V values corresponding to atomic pairs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","id2","atomicSpecies","atomicSpecies2","value"]}}},"required":["values","units"]}],"properties":{"name":{"enum":["hubbard_v"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V NN parameters property schema","description":"Hubbard V value in eV for nearest neighbors used in hp.x output parsing","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard parameters reusable schema","description":"Common properties for hubbard parameter schemas","type":"object","properties":{"units":{"enum":["eV"]},"values":{"type":"array","items":{"type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair numeric","description":"Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data per orbital pair","description":"Atomic properties per orbital pair e.g., Hubbard V parameters.","type":"object","properties":{"id":{"type":"integer","description":"Site number or index in the lattice"},"id2":{"type":"integer","description":"Site number or index in the lattice of second site"},"atomicSpecies":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co1, Mn"},"atomicSpecies2":{"type":"string","pattern":"^[a-zA-Z]{1,2}[\\d+]?$","description":"Example: Co2, O"},"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalName2":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"distance":{"type":"number","description":"Distance between two sites in Bohr."}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic data numeric properties","description":"Numeric value specific to atomic data","type":"object","properties":{"value":{"type":"number","description":"Value related to a specific property, e.g., Hubbard U, V etc."}}}]}],"required":["id","id2","atomicSpecies","atomicSpecies2","value"]}}},"required":["values","units"]}],"properties":{"name":{"enum":["hubbard_v_nn"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Average potential profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"properties":{"label":{"enum":["z coordinate"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}}},"yAxis":{"properties":{"label":{"enum":["energy"]},"units":{"enum":["kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}}},"name":{"enum":["average_potential_profile"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Charge density profile property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension plot schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"2 dimension data schema","type":"object","properties":{"xDataArray":{"description":"array containing values of x Axis","type":"array","items":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]}},"yDataSeries":{"$schema":"http://json-schema.org/draft-07/schema#","title":"1 dimension data series schema","type":"array","items":{"type":"array","minItems":1,"items":{"type":"number"}}}},"required":["xDataArray","yDataSeries"]}],"properties":{"xAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]},"yAxis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"axis schema","type":"object","properties":{"label":{"description":"label of an axis object","type":"string"},"units":{"description":"units for an axis","type":"string"}},"required":["label"]}},"required":["xAxis","yAxis"]}],"properties":{"xAxis":{"type":"object","properties":{"label":{"enum":["z coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["charge density"]},"units":{"enum":["e/A"]}}},"name":{"enum":["charge_density_profile"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Workflow property schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}}}}],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]}],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","application"]}]}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"enum":["subworkflow"]}}}]}],"discriminator":{"propertyName":"type"},"required":["type"]}}},"required":["units","subworkflows"]}],"properties":{"name":{"enum":["workflow:pyml_predict"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Magnetic moments property schema","description":"magnetization on each ion","type":"object","properties":{"name":{"enum":["magnetic_moments"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"enum":["uB"]}},"required":["name","values","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Atomic forces property schema","description":"coordinates of atoms by ids, vector, unitless","type":"object","properties":{"name":{"enum":["atomic_forces"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vectors schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic vector schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector 3d schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 number elements schema","type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}]}}}},"units":{"enum":["eV/bohr","eV/angstrom","Ry/a.u.","newton","kg*m/s^2","eV/a.u."]}},"required":["name","units","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence electronic property schema","type":"object","properties":{"name":{"enum":["convergence_electronic"]},"units":{"enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"array","items":{"type":"number"}}}},"required":["data","name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Convergence ionic property schema","type":"object","properties":{"name":{"enum":["convergence_ionic"]},"tolerance":{"description":"for ionic convergence tolerance shows force tolerance"},"units":{"description":"units for force tolerance","enum":["eV"]},"data":{"type":"array","description":"energetic and structural information","items":{"type":"object","properties":{"energy":{"description":"converged electronic energy for this structure (last in `electronic`)","type":"number"},"structure":{"description":"TODO: structural information at each step to be here","type":"object"},"electronic":{"description":"data about electronic at this ionic step","type":"object","properties":{"units":{"description":"units for force tolerance","enum":["eV","Ry","hartree"]},"data":{"type":"array","items":{"type":"number"}}}}},"required":["energy"]}}},"required":["data","name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Is relaxed property schema","type":"object","properties":{"name":{"enum":["is_relaxed"]},"value":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","value","materialId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Final structure property schema","type":"object","properties":{"name":{"enum":["final_structure"]},"isRelaxed":{"type":"boolean"},"materialId":{"description":"Material's identity","type":"string"}},"required":["name","isRelaxed","materialId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter notebook endpoint property schema","type":"object","properties":{"name":{"enum":["jupyter_notebook_endpoint"]},"host":{"type":"string"},"port":{"type":"number"},"token":{"type":"string"}},"required":["name","host","port","token"]}],"discriminator":{"propertyName":"name"}},"source":{"type":"object","properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}},"required":["jobId","unitId"]}},"required":["type","info"]},"exabyteId":{"description":"Id of the corresponding item in the entity bank that this property is obtained for","type":"array","items":{"type":"string"}},"precision":{"type":"object","properties":{"value":{"type":"number"},"metric":{"type":"string"}}},"systemTags":{"description":"property system tags, marks property system characteristics, values refined or best (could be both)","type":"array","items":{"type":"string","enum":["isRefined","isBest"]}},"repetition":{"type":"number"}},"required":["data","source","repetition","exabyteId"]},{"$id":"property/meta-holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Meta property holder schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}}],"properties":{"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"File data item","type":"object","properties":{"element":{"type":"string","description":"chemical element"},"hash":{"type":"string","description":"MD5 hash of the pseudopotential file"},"type":{"enum":["us","nc","nc-fr","paw","coulomb"]},"source":{"type":"string","description":"explains where this came from"},"version":{"type":"string","description":"explains the version of where this came from"},"exchangeCorrelation":{"type":"object","properties":{"approximation":{"description":"DFT approximation","type":"string"},"functional":{"description":"Exchange correlation functional","type":"string"},"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},"valenceConfiguration":{"type":"array","description":"contains pseudo orbital information, including orbital names and occupations","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic orbital schema","type":"object","properties":{"orbitalName":{"type":"string","pattern":"^[1-7][sSpPdDfF]$"},"orbitalIndex":{"type":"integer","minimum":1},"principalNumber":{"type":"integer","minimum":1,"maximum":7},"angularMomentum":{"type":"integer","minimum":0,"maximum":3},"occupation":{"type":"number","description":"Shell occupation","minimum":0,"maximum":14}}}},"path":{"type":"string","description":"location of the pseudopotential file on filesystem"},"apps":{"type":"array","description":"The names of the simulation engines that can use this pseudopotential, e.g. espresso","items":{"type":"string"}},"filename":{"type":"string","description":"filename of pseudopotential file on filesystem"},"name":{"type":"string","description":"name of the data category","enum":["pseudopotential"]},"cutoffs":{"type":"object","description":"Suggested cutoff values for wave function and charge density.","additionalProperties":false,"properties":{"wavefunction":{"type":"array","description":"Energy cutoff values for wavefunction plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}},"density":{"type":"array","description":"Energy cutoff values for charge density plane wave expansion.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for energy value with unit corresponding to a specific accuracy level, e.g., used for suggested wavefunction and charge density cutoffs","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Reusable schema for scalar values with accuracy levels","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"accuracy_level":{"description":"Accuracy level determines suggested scalar value.","type":"string","enum":["standard","low","high"]}},"required":["accuracy_level"]}],"properties":{"unit":{"description":"Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.","type":"string","enum":["Ry"]}},"required":["unit"]}}}}},"required":["element","type","exchangeCorrelation","source","path","apps","name","hash"]}]},"source":{"type":"object","properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"type":"object"}},"required":["type"]}},"required":["data","source"]},{"$id":"property/proto-holder","$schema":"http://json-schema.org/draft-07/schema#","title":"Proto property holder schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}}],"properties":{"data":{"description":"container of the information, specific to each property","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints property schema","description":"atomic constraints property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["atomic_constraints"]},"values":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraints schema","description":"atomic constraints schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"atomic constraint schema","description":"constraint of atoms by ids, used to constraint the position etc.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id and value schema","description":"object containing integer id and value each","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"object with id","description":"object containing integer id","type":"object","properties":{"id":{"description":"integer id of this entry","type":"integer"}},"required":["id"]}],"properties":{"value":{"description":"value of this entry"}},"required":["id","value"]}],"properties":{"value":{"$schema":"http://json-schema.org/draft-07/schema#","title":"vector boolean 3d schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array of 3 boolean elements schema","type":"array","items":{"type":"boolean"},"minItems":3,"maxItems":3}]}}}}},"required":["name","values"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundary conditions property schema","description":"boundary conditions property schema (as stored in a database)","type":"object","properties":{"name":{"enum":["boundary_conditions"]},"type":{"type":"string","enum":["pbc","bc1","bc2","bc3"],"default":"pbc","description":"If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."},"offset":{"type":"number"}},"required":["name","type","offset"]}]},"source":{"type":"object","properties":{"type":{"description":"Type of the material property's source.","type":"string"},"info":{"type":"object","properties":{"materialId":{"type":"string"}}}},"required":["type","info"]}},"required":["data","source"]},{"$id":"property/source","$schema":"http://json-schema.org/draft-07/schema#","title":"Property source schema","type":"object","properties":{"type":{"description":"Type of the material property's source.","type":"string"},"url":{"description":"Internet address of the reference.","type":"string"},"info":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"jobId":{"description":"Job's identity","type":"string"},"unitId":{"description":"Id of the unit that extracted the result","type":"string"}},"required":["jobId","unitId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for characteristic obtained by experiment","type":"object","properties":{"type":{"enum":["experiment"]},"authors":{"description":"experiment authors","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"title":{"type":"string","description":"experiment title"},"method":{"type":"string","description":"method used in experiment"},"conditions":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition schema","type":"object","properties":{"units":{"description":"condition unit","type":"string"},"scalar":{"description":"array of condition values","type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"name":{"description":"human-readable name of the condition","type":"string"}},"required":["name"]}},"location":{"$schema":"http://json-schema.org/draft-07/schema#","title":"location schema","type":"object","properties":{"latitude":{"description":"location latitude","type":"number"},"longitude":{"description":"location longitude","type":"number"}},"required":["latitude","longitude"]},"timestamp":{"description":"epoch time.","type":"number"},"note":{"description":"Note about experiment","type":"string"},"references":{"type":"array","description":"references to literature articles","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"literature reference schema","type":"object","properties":{"type":{"enum":["literature"]},"doi":{"type":"string","description":"Digital Object Identifier of the reference."},"isbn":{"type":"string","description":"International Standard Book Number of the reference."},"issn":{"type":"string","description":"International Standard Serial Number of the reference."},"url":{"type":"string","description":"Internet address of the reference."},"title":{"type":"string","description":"Title of the work."},"publisher":{"type":"string","description":"Publisher of the work."},"journal":{"type":"string","description":"Journal in which the work appeared."},"volume":{"type":"string","description":"Volume of the series in which the work appeared."},"year":{"type":"string","description":"Year in which the reference was published."},"issue":{"type":"string","description":"Issue of the collection in which the work appeared."},"pages":{"type":"object","description":"Start and end pages of the work.","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"pages schema","type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start"]}]},"authors":{"type":"array","description":"List of authors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"editors":{"type":"array","description":"List of editors of the work.","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"experiment author schema","type":"object","properties":{"first":{"type":"string"},"middle":{"type":"string"},"last":{"type":"string"},"affiliation":{"type":"string"}},"required":["first","last"]}},"reference":{"type":"array","items":{"type":"object"},"description":"References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published."}}}}},"required":["conditions","authors","title","method","timestamp"]}]}},"required":["info"]},{"$id":"software/application","$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},{"$id":"software/application-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]},{"$id":"software/executable","$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},{"$id":"software/executable-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]},{"$id":"software/flavor","$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},{"$id":"software/flavor-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]},{"$id":"software/template","$schema":"http://json-schema.org/draft-07/schema#","title":"template schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"template properties schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]}],"properties":{"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"executableName":{"type":"string"},"contextProviders":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"isManuallyChanged":{"type":"boolean"}},"required":["applicationName","executableName","contextProviders"]}]},{"$id":"software/template-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"template properties schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]}],"properties":{"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"executableName":{"type":"string"},"contextProviders":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"isManuallyChanged":{"type":"boolean"}},"required":["applicationName","executableName","contextProviders"]},{"$id":"software-directory/modeling/deepmd","$schema":"http://json-schema.org/draft-07/schema#","title":"DeePMD app schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true}],"properties":{"name":{"enum":["deepmd"]},"summary":{"enum":["DeePMD is a deep learning package that is based on neural network fitted first-principles data for many-body potential energy representation and molecular dynamics"]},"version":{"enum":["2.0.2"]},"exec":{"enum":["dp","lmp","python"]}}},{"$id":"software-directory/modeling/espresso/arguments","$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false},{"$id":"software-directory/modeling/espresso","$schema":"http://json-schema.org/draft-07/schema#","title":"espresso app schema","type":"object","properties":{"name":{"enum":["espresso"]},"summary":{"enum":["Quantum Espresso"]},"version":{"enum":["5.2.1","5.4.0","6.0.0","6.3","6.4.1","6.5.0","6.6.0","6.7.0","6.8.0","7.0","7.2","7.3"]}}},{"$id":"software-directory/modeling/nwchem","$schema":"http://json-schema.org/draft-07/schema#","title":"NWChem","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true}],"properties":{"name":{"enum":["NWChem"]},"summary":{"enum":["NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations"]},"version":{"enum":["6.6","7.0.2"]},"exec":{"enum":["nwchem"]}}},{"$id":"software-directory/modeling/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema for physics-based simulation engines (defined using espresso as example)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema for physics-based simulation engines","type":"object","properties":{"input":{"title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}}}}]},{"$id":"software-directory/modeling/vasp","$schema":"http://json-schema.org/draft-07/schema#","title":"vienna ab-inito simulation package","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true}],"properties":{"name":{"enum":["vasp"]},"summary":{"enum":["vienna ab-initio simulation package"]},"flavor":{"enum":["vasp","vasp_nscf","vasp_bands"]},"version":{"enum":["5.3.5"]},"exec":{"enum":["vasp"]}}},{"$id":"software-directory/scripting/jupyter-lab","$schema":"http://json-schema.org/draft-07/schema#","title":"Jupyter Lab Application Schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true}],"properties":{"name":{"enum":["jupyterLab"]},"flavor":{"enum":["notebook"]},"summary":{"enum":["Jupyter Lab"]},"version":{"enum":["0.33.12"]},"exec":{"enum":["jupyter"]}}},{"$id":"software-directory/scripting/python","$schema":"http://json-schema.org/draft-07/schema#","title":"Python Programing Language Schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true}],"properties":{"name":{"enum":["python"]},"flavor":{"enum":["python2","python3"]},"summary":{"enum":["Python Script"]},"version":{"enum":["2.7.5","3.6.1"]},"exec":{"enum":["python"]},"arguments":{"description":"Optional arguments passed to the Python script","type":"string"},"environment":{"description":"Optional environment variables exported before running the Python script","type":"object"},"dependencies":{"description":"Optional Python dependencies, e.g. amqp==1.4.6","type":"array"}}},{"$id":"software-directory/scripting/shell","$schema":"http://json-schema.org/draft-07/schema#","title":"Shell Scripting Language Schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true}],"properties":{"name":{"enum":["shell"]},"flavor":{"enum":["sh","bash","zsh","csh"]},"summary":{"enum":["Shell Script"]},"version":{"enum":["4.2.46"]},"exec":{"enum":["sh","bash","zsh","csh"]},"arguments":{"description":"Optional arguments passed to the Shell script","type":"string"},"environment":{"description":"Optional environment variables exported before running the Shell script","type":"object"}}},{"$id":"software-directory/scripting/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema for scripting-based applications","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema for physics-based simulation engines","type":"object","properties":{"input":{"title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}}}}]},{"$id":"system/-material","$schema":"http://json-schema.org/draft-07/schema#","title":"Material entity reference schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}],"properties":{"cls":{"description":"Material class","type":"string","enum":["Material"]}}},{"$id":"system/-parent-job","$schema":"http://json-schema.org/draft-07/schema#","title":"Parent job entity reference schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}],"properties":{"cls":{"description":"Job class","type":"string","enum":["Job"]}}},{"$id":"system/-project","$schema":"http://json-schema.org/draft-07/schema#","title":"Project entity reference schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}],"properties":{"cls":{"description":"Project class","type":"string","enum":["Project"]}}},{"$id":"system/bankable","$schema":"http://json-schema.org/draft-07/schema#","title":"bankable schema","type":"object","properties":{"exabyteId":{"description":"Identity of the corresponding bank entity","type":"string"},"hash":{"description":"Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.","type":"string"}}},{"$id":"system/consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]},{"$id":"system/creator","$schema":"http://json-schema.org/draft-07/schema#","title":"Creator entity reference schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}],"properties":{"cls":{"description":"Creator class","type":"string","enum":["User"]}}},{"$id":"system/creator-account","$schema":"http://json-schema.org/draft-07/schema#","title":"creator account schema","type":"object","properties":{"creatorAccount":{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}}},{"$id":"system/database-source","$schema":"http://json-schema.org/draft-07/schema#","title":"database source schema","description":"information about a database source","type":"object","properties":{"id":{"description":"ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32","oneOf":[{"type":"string"},{"type":"number"}]},"source":{"description":"Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.","type":"string"},"origin":{"description":"Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).","type":"boolean"},"data":{"description":"Original response from external source.","type":"object"},"doi":{"description":"Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506","type":"string"},"url":{"description":"The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers","type":"string"}},"required":["id","source","origin"]},{"$id":"system/defaultable","$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$id":"system/description","$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$id":"system/entity-reference","$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},{"$id":"system/file-source","$schema":"http://json-schema.org/draft-07/schema#","title":"file source schema","description":"file source with the information inside","type":"object","properties":{"extension":{"description":"file extension","type":"string"},"filename":{"description":"file name without extension","type":"string"},"text":{"description":"file content as raw text","type":"string"},"hash":{"description":"MD5 hash based on file content","type":"string"}},"required":["filename","text","hash"]},{"$id":"system/has-consistency-check","$schema":"http://json-schema.org/draft-07/schema#","title":"Has consistency check schema","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"consistencyChecks":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"consistency check","type":"object","description":"The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.","properties":{"key":{"type":"string","description":"Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"},"name":{"type":"string","description":"Name of the consistency check that is performed, which is listed in an enum."},"severity":{"enum":["info","warning","error"],"description":"Severity level of the problem, which is used in UI to differentiate."},"message":{"type":"string","description":"Message generated by the consistency check describing the problem."}},"required":["key","name","severity","message"]}}}},{"$id":"system/history","$schema":"http://json-schema.org/draft-07/schema#","title":"history schema","type":"object","properties":{"history":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"number"}},"required":["id","revision"]}}}},{"$id":"system/iframe-message","$schema":"http://json-schema.org/draft-07/schema#","title":"iframe message schema","description":"communication message between iframe and the parent window.","type":"object","properties":{"type":{"description":"The type of the message to distinguish the direction of the message.","type":"string","enum":["from-iframe-to-host","from-host-to-iframe"],"tsEnumNames":["fromIframeToHost","fromHostToIframe"]},"action":{"description":"The action to be performed upon receiving the message.","type":"string","enum":["set-data","get-data","info"],"tsEnumNames":["setData","getData","info"]},"payload":{"description":"The content of the message with actual data.","type":"object"}},"required":["type","action","payload"]},{"$id":"system/in-set","$schema":"http://json-schema.org/draft-07/schema#","title":"System in-set schema","type":"object","properties":{"inSet":{"type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]},{"type":"object","properties":{"type":{"type":"string"},"index":{"type":"number"}}}]}}}},{"$id":"system/is-multi-material","$schema":"http://json-schema.org/draft-07/schema#","title":"is multi schema","type":"object","properties":{"isMultiMaterial":{"type":"boolean"}}},{"$id":"system/is-outdated","$schema":"http://json-schema.org/draft-07/schema#","title":"is outdated schema","type":"object","properties":{"isOutdated":{"type":"boolean"}}},{"$id":"system/job-extended","$schema":"http://json-schema.org/draft-07/schema#","title":"extended job schema","type":"object","properties":{"mode":{"type":"string"},"isExternal":{"type":"boolean"},"_materials":{"type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}]}},"_materialsSet":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}]},"purged":{"type":"boolean"},"purgedAt":{"type":"number"},"dataset":{"type":"object"}}},{"$id":"system/message","$schema":"http://json-schema.org/draft-07/schema#","title":"message schema","description":"communication message between Rupy and web application.","type":"object","properties":{"header":{"type":"object","properties":{"entity":{"type":"object","properties":{"_id":{"description":"job identifier","type":"string"},"name":{"description":"entity name.","type":"string","enum":["job","unit"]},"flowchartId":{"description":"unit identifier within the workflow","type":"string"},"probe":{"description":"source of the message.","type":"string","enum":["monitor","postprocessor"]}},"required":["_id","name"]},"version":{"description":"Rupy-Webapp communication schema version.","type":"string"},"timestamp":{"description":"Timestamp of the message.","type":"number"}},"required":["entity","version","timestamp"]},"payload":{"description":"Actual payload of the message.","type":"object"}},"required":["header","payload"]},{"$id":"system/metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$id":"system/name","$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$id":"system/owner","$schema":"http://json-schema.org/draft-07/schema#","title":"Entity owner reference schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity reference schema","type":"object","properties":{"_id":{"description":"entity identity","type":"string"},"cls":{"description":"entity class","type":"string"},"slug":{"description":"entity slug","type":"string"}},"required":["_id"]}],"properties":{"cls":{"description":"Entity owner class","type":"string","enum":["Account"]}}},{"$id":"system/path","$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}},{"$id":"system/path-entity","$schema":"http://json-schema.org/draft-07/schema#","title":"path entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path schema","type":"object","properties":{"path":{"$schema":"http://json-schema.org/draft-07/schema#","title":"category path schema","description":"TODO: Use regex once schema draft version has been updated","type":"string"}}}]},{"$id":"system/runtime-item","$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]},{"$id":"system/runtime-items","$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$id":"system/schema-version","$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}},{"$id":"system/scope","$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$id":"system/set","$schema":"http://json-schema.org/draft-07/schema#","title":"Entity set schema","type":"object","properties":{"isEntitySet":{"type":"boolean"},"entitySetType":{"type":"string"},"entityCls":{"type":"string"}}},{"$id":"system/sharing","$schema":"http://json-schema.org/draft-07/schema#","title":"extended sharing schema","type":"object","properties":{"sharedCount":{"type":"number"}}},{"$id":"system/soft-removable","$schema":"http://json-schema.org/draft-07/schema#","title":"soft removable entity schema","type":"object","properties":{"removedAt":{"description":"Timestamp of the moment when entity was removed","type":"string"},"removed":{"description":"Identifies that entity was removed","type":"boolean"}}},{"$id":"system/status","$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$id":"system/tags","$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$id":"system/timestampable","$schema":"http://json-schema.org/draft-07/schema#","title":"timestampable entity schema","type":"object","properties":{"createdAt":{"description":"entity creation time","type":"string","format":"date-time"},"updatedAt":{"description":"entity last modification time","type":"string","format":"date-time"},"createdBy":{"type":"string"},"updatedBy":{"type":"string"}}},{"$id":"system/use-values","$schema":"http://json-schema.org/draft-07/schema#","title":"use values schema","type":"object","properties":{"useValues":{"type":"boolean"}}},{"$id":"workflow/base","$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}}}},{"$id":"workflow/base-flow","$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]},{"$id":"workflow/scope","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow scope schema","type":"object","properties":{"global":{"type":"object","additionalProperties":true},"local":{"type":"object","additionalProperties":true}},"required":["global","local"]},{"$id":"workflow/subworkflow/unit","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]},{"$id":"workflow/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]}],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","application"]},{"$id":"workflow/unit/assertion","$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$id":"workflow/unit/assignment","$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$id":"workflow/unit/base","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$id":"workflow/unit/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$id":"workflow/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$id":"workflow/unit/input/-input","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema for physics-based simulation engines","type":"object","properties":{"input":{"title":"execution unit input schema","type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}]}}}},{"$id":"workflow/unit/input/-inputItem","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema for physics-based simulation engines","type":"object","properties":{"name":{"description":"Input file name. e.g. pw_scf.in","type":"string"},"content":{"description":"Content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["name","content"]},{"$id":"workflow/unit/input/-inputItemId","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false},{"$id":"workflow/unit/input/-inputItemScope","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]},{"$id":"workflow/unit/input/-map-input/values","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit values schema","type":"object","properties":{"values":{"type":"string"}}},{"$id":"workflow/unit/input/-map-input","$schema":"http://json-schema.org/draft-07/schema#","title":"Unit map input schema","type":"object","properties":{"target":{"type":"string"},"values":{"type":"array","items":{"oneOf":[{"type":"number"},{"type":"string"},{"type":"object"}]}},"useValues":{"type":"boolean"},"scope":{"type":"string"},"name":{"type":"string"}}},{"$id":"workflow/unit/io/api","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$id":"workflow/unit/io/db","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$id":"workflow/unit/io/object-storage","$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true},{"$id":"workflow/unit/io","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$id":"workflow/unit/map","$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]}]},{"$id":"workflow/unit/mixins/assertion","$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]},{"$id":"workflow/unit/mixins/assignment","$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]},{"$id":"workflow/unit/mixins/base","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]},{"$id":"workflow/unit/mixins/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]},{"$id":"workflow/unit/mixins/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]},{"$id":"workflow/unit/mixins/io","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]},{"$id":"workflow/unit/mixins/map","$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]},{"$id":"workflow/unit/mixins/processing","$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]},{"$id":"workflow/unit/mixins/reduce","$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]},{"$id":"workflow/unit/mixins/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"enum":["subworkflow"]}}},{"$id":"workflow/unit/processing","$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]},{"$id":"workflow/unit/reduce","$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$id":"workflow/unit/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"enum":["subworkflow"]}}}]},{"$id":"workflow/unit","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"enum":["subworkflow"]}}}]}],"discriminator":{"propertyName":"type"},"required":["type"]},{"$id":"workflow","$schema":"http://json-schema.org/draft-07/schema#","title":"workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base workflow schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable has metadata in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}}]}],"properties":{"properties":{"description":"Array of characteristic properties calculated by this workflow (TODO: add enums)","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","oneOf":[{"type":"string"},{"type":"object"}]}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}}}}],"properties":{"subworkflows":{"description":"Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting","type":"array","items":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"BaseFlow","type":"object","properties":{"_id":{"description":"subworkflow identity","type":"string"},"name":{"description":"Human-readable name of the subworkflow. e.g. Total-energy","type":"string"},"properties":{"description":"Array of characteristic properties calculated by this subworkflow","type":"array","items":{"description":"property names, eg. `band_gaps`, `band_structure`","type":"string"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Custom keywords prefixed with validate correspond to custom validation methods implemented downstream","type":"object","properties":{"queue":{"description":"Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.","type":"string","enum":["D","OR","OF","OFplus","SR","SF","SFplus","GPOF","GP2OF","GP4OF","GPSF","GP2SF","GP4SF","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"nodes":{"description":"number of nodes used for the job inside the RMS.","type":"integer"},"ppn":{"description":"number of CPUs used for the job inside the RMS.","type":"integer"},"timeLimit":{"description":"Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'","type":"string"},"timeLimitType":{"description":"Convention to use when reasoning about time limits","type":"string","default":"per single attempt","enum":["per single attempt","compound"]},"isRestartable":{"description":"Job is allowed to restart on termination.","type":"boolean","default":true},"notify":{"description":"Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.","type":"string"},"email":{"description":"Email address to notify about job execution.","type":"string"},"maxCPU":{"description":"Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.","type":"integer"},"arguments":{"description":"Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"quantum espresso arguments schema","type":"object","properties":{"nimage":{"description":"Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.","type":"integer","default":1,"minimum":1,"maximum":100},"npools":{"description":"Each image can be subpartitioned into `pools`, each taking care of a group of k-points.","type":"integer","default":1,"minimum":1,"maximum":100},"nband":{"description":"Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).","type":"integer","default":1,"minimum":1,"maximum":100},"ntg":{"description":"In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.","type":"integer","default":1,"minimum":1,"maximum":100},"ndiag":{"description":"A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.","type":"integer","default":1,"minimum":1,"maximum":100}},"additionalProperties":false}],"default":{}},"cluster":{"description":"Cluster where the job is executed. Optional on create. Required on job submission.","type":"object","properties":{"fqdn":{"description":"FQDN of the cluster. e.g. master-1-staging.exabyte.io","type":"string"},"jid":{"description":"Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io","type":"string"}}},"errors":{"description":"Computation error. Optional. Appears only if something happens on jobs execution.","type":"array","items":{"type":"object","properties":{"domain":{"description":"Domain of the error appearance (internal).","type":"string","enum":["rupy","alfred","celim","webapp"]},"reason":{"description":"Should be a short, unique, machine-readable error code string. e.g. FileNotFound","type":"string"},"message":{"description":"Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'","type":"string"},"traceback":{"description":"Full machine-readable error traceback. e.g. FileNotFound","type":"string"}}}},"excludeFilesPattern":{"description":"A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix","type":"string"}},"required":["queue","nodes","ppn","timeLimit"]}},"required":["name","units"]}],"properties":{"units":{"description":"Contains the Units of the subworkflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow subworkflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base model","type":"object","properties":{"type":{"description":"general type of the model, eg. `dft`","type":"string"},"subtype":{"description":"general subtype of the model, eg. `lda`","type":"string"},"method":{"$schema":"http://json-schema.org/draft-07/schema#","title":"base method","type":"object","properties":{"type":{"description":"general type of this method, eg. `pseudopotential`","type":"string"},"subtype":{"description":"general subtype of this method, eg. `ultra-soft`","type":"string"},"precision":{"description":"Object showing the actual possible precision based on theory and implementation","type":"object"},"data":{"description":"additional data specific to method, eg. array of pseudopotentials","type":"object"}},"required":["type","subtype"]}},"additionalProperties":true,"required":["type","subtype","method"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","application"]}]}},"units":{"description":"Contains the Units of the Workflow","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"enum":["io"]},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","db","object_storage"]},"input":{"type":"array","items":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"endpoint":{"description":"rest API endpoint","type":"string"},"endpoint_options":{"description":"rest API endpoint options","type":"object"},"name":{"description":"the name of the variable in local scope to save the data under","type":"string"}},"required":["endpoint","endpoint_options"],"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database input/output schema","type":"object","oneOf":[{"properties":{"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["ids"],"additionalProperties":true},{"properties":{"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["collection","draft"],"additionalProperties":true}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"object_storage io schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"file_metadata","type":"object","properties":{"pathname":{"description":"Relative path to the directory that contains the file.","type":"string"},"basename":{"description":"Basename of the file","type":"string","$comment":"isGenerative:true"},"filetype":{"description":"What kind of file this is, e.g. image / text","type":"string"}}}],"properties":{"objectData":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Object Storage Container Data","type":"object","properties":{"CONTAINER":{"description":"Object storage container for the file","type":"string"},"NAME":{"description":"Name of the file inside the object storage bucket","type":"string"},"PROVIDER":{"description":"Object storage provider","type":"string"},"REGION":{"description":"Region for the object container specified in Container","type":"string"},"SIZE":{"description":"Size of the file in bytes","type":"integer"},"TIMESTAMP":{"description":"Unix timestamp showing when the file was last modified","type":"string"}}},"overwrite":{"description":"if a file with the same filename already exists, whether to overwrite the old file","type":"boolean"}},"required":["objectData"],"additionalProperties":true}]}}},"required":["subtype","source","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"enum":["reduce"]},"mapFlowchartId":{"description":"corresponding map unit flowchart ID","type":"string"},"input":{"description":"input information for reduce unit","type":"array","items":{"type":"object","properties":{"operation":{"description":"reduce operation, e.g. aggregate","type":"string"},"arguments":{"description":"arguments which are passed to reduce operation function","type":"array","items":{"type":"string"}}},"required":["operation","arguments"]}}},"required":["mapFlowchartId","input"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"enum":["condition"]},"input":{"description":"Input information for condition.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"statement":{"description":"Condition statement. e.g. 'abs(x-total_energy) < 1e-5'","type":"string"},"then":{"description":"Flowchart ID reference for `then` part of the condition.","type":"string"},"else":{"description":"Flowchart ID reference for `else` part of the condition.","type":"string"},"maxOccurrences":{"description":"Maximum occurrence of the condition, usable for loops.","type":"integer"},"throwException":{"description":"Throw exception on reaching to maximum occurence.","type":"boolean"}},"required":["input","statement","then","else","maxOccurrences"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"enum":["assertion"]},"statement":{"type":"string","description":"The statement to be evaluated"},"errorMessage":{"type":"string","description":"The error message to be displayed if the assertion fails"}},"required":["name","statement"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"enum":["execution"]},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application schema (base)","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"application properties schema","type":"object","properties":{"shortName":{"description":"The short name of the application. e.g. qe","type":"string"},"summary":{"description":"Application's short description.","type":"string"},"version":{"description":"Application version. e.g. 5.3.5","type":"string"},"build":{"description":"Application build. e.g. VTST","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"}},"required":["shortName","summary","version","build"]}],"additionalProperties":true},"executable":{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"name":{"description":"The name of the executable. e.g. pw.x","type":"string"},"applicationId":{"description":"_ids of the application this executable belongs to","type":"array","items":{"type":"string"}},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["name","applicationId"]}]},"flavor":{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableId":{"description":"_id of the executable this flavor belongs to","type":"string"},"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"input":{"title":"execution unit input schema","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input id item schema for physics-based simulation engines","type":"object","properties":{"templateId":{"type":"string"},"templateName":{"type":"string"},"name":{"description":"name of the resulting input file, if different than template name","type":"string"}},"additionalProperties":false}},"supportedApplicationVersions":{"description":"list of application versions this flavor supports","type":"array","items":{"type":"string"}}},"required":["executableId","input"]}]},"input":{"description":"unit input (type to be specified by the application's execution unit)"}},"required":["input","application"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"scope schema","type":"object","properties":{"scope":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assignment unit mixin schema","type":"object","properties":{"type":{"enum":["assignment"]},"input":{"description":"Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow unit input schema","type":"object","properties":{"scope":{"description":"Scope of the variable. e.g. 'global' or 'flowchart_id_2'","type":"string"},"name":{"description":"Name of the input data. e.g. total_energy","type":"string"}},"required":["scope","name"]}},"operand":{"description":"Name of the global variable. e.g. 'x'","type":"string"},"value":{"description":"Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"required":["name","operand","value"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"processing unit mixin schema","type":"object","properties":{"type":{"enum":["processing"]},"operation":{"description":"Contains information about the operation used.","type":"string"},"operationType":{"description":"Contains information about the specific type of the operation used.","type":"string"},"inputData":{"description":"unit input (type to be specified by the child units)"}},"required":["operation","operationType","inputData"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"enum":["map"]},"workflowId":{"description":"Id of workflow to run inside map","type":"string"},"input":{"description":"Input information for map.","type":"object","properties":{"target":{"description":"Name of the target variable to substitute using the values below. e.g. K_POINTS","type":"string"},"scope":{"description":"Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.","type":"string"},"name":{"description":"Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.","type":"string"},"values":{"description":"Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution","type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}},"useValues":{"type":"boolean"}},"required":["target"]}},"required":["input","workflowId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime items schema","type":"object","properties":{"preProcessors":{"description":"names of the pre-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"]}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"entity tags schema","type":"object","properties":{"tags":{"description":"entity tags","type":"array","items":{"type":"string"}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"status schema","type":"object","properties":{"status":{"type":"string"},"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"type":{"description":"type of the unit","type":"string"},"name":{"description":"name of the unit. e.g. pw_scf","type":"string"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"context":{"type":"object"}},"additionalProperties":true,"required":["type","flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"enum":["subworkflow"]}}}]}],"discriminator":{"propertyName":"type"},"required":["type"]}}},"required":["units","subworkflows"]}]''') \ No newline at end of file diff --git a/src/py/mat3ra/esse/models/context_providers_directory/boundary_conditions_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/boundary_conditions_provider.py index 0e9a8706a..f5c3d1365 100644 --- a/src/py/mat3ra/esse/models/context_providers_directory/boundary_conditions_provider.py +++ b/src/py/mat3ra/esse/models/context_providers_directory/boundary_conditions_provider.py @@ -4,13 +4,24 @@ from __future__ import annotations +from enum import Enum from typing import Optional from pydantic import BaseModel, Field +class Type(Enum): + pbc = "pbc" + bc1 = "bc1" + bc2 = "bc2" + bc3 = "bc3" + + class BoundaryConditionsProviderSchema(BaseModel): - type: Optional[str] = Field(None, title="Type") - offset: Optional[float] = Field(None, title="Offset (A)") + type: Optional[Type] = "pbc" + """ + If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. + """ + offset: Optional[float] = None electricField: Optional[float] = Field(None, title="Electric Field (eV/A)") targetFermiEnergy: Optional[float] = Field(None, title="Target Fermi Energy (eV)") diff --git a/src/py/mat3ra/esse/models/context_providers_directory/by_application/qeneb_context_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/by_application/qeneb_context_provider.py deleted file mode 100644 index 35aa79ca6..000000000 --- a/src/py/mat3ra/esse/models/context_providers_directory/by_application/qeneb_context_provider.py +++ /dev/null @@ -1,70 +0,0 @@ -# generated by datamodel-codegen: -# filename: context_providers_directory/by_application/qeneb_context_provider.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import List, Optional - -from pydantic import BaseModel, conint - - -class RESTARTMODE(Enum): - restart = "restart" - from_scratch = "from_scratch" - - -class QENEBContextProviderSchema(BaseModel): - IBRAV: int - """ - Bravais lattice index. Context provider version (uppercase) of ibrav from &SYSTEM. - """ - RESTART_MODE: RESTARTMODE - """ - Restart mode for the calculation - """ - ATOMIC_SPECIES: str - """ - Formatted text block for ATOMIC_SPECIES card. Format: 'X Mass_X PseudoPot_X' per line. Corresponds to ATOMIC_SPECIES section in pw.x input. - """ - ATOMIC_SPECIES_WITH_LABELS: str - """ - Formatted text block for ATOMIC_SPECIES card with element labels (e.g., Fe1, C1). Format: 'Xn Mass_X PseudoPot_X' per line - """ - NAT: int - """ - Number of atoms in the unit cell. Context provider version (uppercase) of nat from &SYSTEM. - """ - NTYP: int - """ - Number of different atomic species (unique elements). Context provider version (uppercase) of ntyp from &SYSTEM. - """ - NTYP_WITH_LABELS: conint(ge=1) - """ - Number of different atomic species including labels - """ - ATOMIC_POSITIONS: Optional[str] = None - """ - Formatted text block for ATOMIC_POSITIONS card WITH constraints for a given image. Format: 'X x y z [if_pos(1) if_pos(2) if_pos(3)]' per line. - """ - ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: Optional[str] = None - """ - Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints for a given image. Format: 'X x y z' per line - """ - CELL_PARAMETERS: str - """ - Formatted text block for CELL_PARAMETERS card. Three lines, each containing three space-separated numbers representing lattice vectors. - """ - FIRST_IMAGE: str - """ - Atomic positions block (ATOMIC_POSITIONS) for the first NEB image. - """ - LAST_IMAGE: str - """ - Atomic positions block (ATOMIC_POSITIONS) for the last NEB image. - """ - INTERMEDIATE_IMAGES: List[str] - """ - Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images. - """ diff --git a/src/py/mat3ra/esse/models/context_providers_directory/by_application/qepwx_context_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/by_application/qepwx_context_provider.py deleted file mode 100644 index 51b30f51c..000000000 --- a/src/py/mat3ra/esse/models/context_providers_directory/by_application/qepwx_context_provider.py +++ /dev/null @@ -1,57 +0,0 @@ -# generated by datamodel-codegen: -# filename: context_providers_directory/by_application/qepwx_context_provider.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum - -from pydantic import BaseModel, conint - - -class RESTARTMODE(Enum): - restart = "restart" - from_scratch = "from_scratch" - - -class QEPwxContextProviderSchema(BaseModel): - IBRAV: int - """ - Bravais lattice index. Context provider version (uppercase) of ibrav from &SYSTEM. - """ - RESTART_MODE: RESTARTMODE - """ - Restart mode for the calculation - """ - ATOMIC_SPECIES: str - """ - Formatted text block for ATOMIC_SPECIES card. Format: 'X Mass_X PseudoPot_X' per line. Corresponds to ATOMIC_SPECIES section in pw.x input. - """ - ATOMIC_SPECIES_WITH_LABELS: str - """ - Formatted text block for ATOMIC_SPECIES card with element labels (e.g., Fe1, C1). Format: 'Xn Mass_X PseudoPot_X' per line - """ - NAT: int - """ - Number of atoms in the unit cell. Context provider version (uppercase) of nat from &SYSTEM. - """ - NTYP: int - """ - Number of different atomic species (unique elements). Context provider version (uppercase) of ntyp from &SYSTEM. - """ - NTYP_WITH_LABELS: conint(ge=1) - """ - Number of different atomic species including labels - """ - ATOMIC_POSITIONS: str - """ - Formatted text block for ATOMIC_POSITIONS card WITH constraints. Format: 'X x y z [if_pos(1) if_pos(2) if_pos(3)]' per line. Corresponds to ATOMIC_POSITIONS section in pw.x input. - """ - ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: str - """ - Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line - """ - CELL_PARAMETERS: str - """ - Formatted text block for CELL_PARAMETERS card. Format: three lines, each containing three space-separated numbers representing lattice vectors. Corresponds to CELL_PARAMETERS section in pw.x input. - """ diff --git a/src/py/mat3ra/esse/models/context_providers_directory/collinear_magnetization_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/collinear_magnetization_provider.py new file mode 100644 index 000000000..6587d2699 --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/collinear_magnetization_provider.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/collinear_magnetization_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field, confloat + + +class StartingMagnetizationItem(BaseModel): + atomicSpecies: Optional[str] = Field(None, title="Atomic species") + value: Optional[confloat(ge=-1.0, le=1.0)] = Field(None, title="Starting magnetization") + + +class CollinearMagnetizationProviderSchema(BaseModel): + startingMagnetization: Optional[List[StartingMagnetizationItem]] = None + isTotalMagnetization: Optional[bool] = Field(None, title="Set total magnetization instead") + totalMagnetization: Optional[float] = Field(None, title="Total magnetization") diff --git a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_j_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/hubbard_j_provider.py new file mode 100644 index 000000000..ba7ea4fb1 --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/hubbard_j_provider.py @@ -0,0 +1,32 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/hubbard_j_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel + + +class Species(Enum): + U = "U" + J = "J" + B = "B" + E2 = "E2" + E3 = "E3" + + +class HubbardJProviderSchemaItem(BaseModel): + paramType: Optional[Species] = Field(None, title="Species") + atomicSpecies: Optional[str] = Field(None, title="Species") + atomicOrbital: Optional[str] = Field(None, title="Orbital") + value: Optional[float] = Field(None, title="Value (eV)") + + +class HubbardJProviderSchema(RootModel[List[HubbardJProviderSchemaItem]]): + root: List[HubbardJProviderSchemaItem] = Field(..., min_length=1, title="Hubbard J Provider Schema") + """ + Hubbard parameters for DFT+U+J calculation. + """ diff --git a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_legacy_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/hubbard_legacy_provider.py new file mode 100644 index 000000000..e39e3530f --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/hubbard_legacy_provider.py @@ -0,0 +1,22 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/hubbard_legacy_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel + + +class HubbardLegacyProviderSchemaItem(BaseModel): + atomicSpecies: Optional[str] = Field(None, title="Atomic species") + atomicSpeciesIndex: Optional[int] = Field(None, title="Species index") + hubbardUValue: Optional[float] = Field(None, title="Hubbard U (eV)") + + +class HubbardLegacyProviderSchema(RootModel[List[HubbardLegacyProviderSchemaItem]]): + root: List[HubbardLegacyProviderSchemaItem] = Field(..., min_length=1, title="Hubbard Legacy Provider Schema") + """ + Hubbard parameters for DFT+U calculation. + """ diff --git a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_u_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/hubbard_u_provider.py new file mode 100644 index 000000000..3ae749b58 --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/hubbard_u_provider.py @@ -0,0 +1,22 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/hubbard_u_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel + + +class HubbardUProviderSchemaItem(BaseModel): + atomicSpecies: Optional[str] = Field(None, title="Atomic species") + atomicOrbital: Optional[str] = Field(None, title="Atomic orbital") + hubbardUValue: Optional[float] = Field(None, title="Hubbard U (eV)") + + +class HubbardUProviderSchema(RootModel[List[HubbardUProviderSchemaItem]]): + root: List[HubbardUProviderSchemaItem] = Field(..., title="Hubbard U Provider Schema") + """ + Hubbard U parameters for DFT+U or DFT+U+V calculation. + """ diff --git a/src/py/mat3ra/esse/models/context_providers_directory/hubbard_v_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/hubbard_v_provider.py new file mode 100644 index 000000000..12e05d170 --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/hubbard_v_provider.py @@ -0,0 +1,26 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/hubbard_v_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel + + +class HubbardVProviderSchemaItem(BaseModel): + atomicSpecies: Optional[str] = Field(None, title="Species 1") + siteIndex: Optional[int] = Field(None, title="Site no 1") + atomicOrbital: Optional[str] = Field(None, title="Orbital 1") + atomicSpecies2: Optional[str] = Field(None, title="Species 2") + siteIndex2: Optional[int] = Field(None, title="Site no 2") + atomicOrbital2: Optional[str] = Field(None, title="Orbital 2") + hubbardVValue: Optional[float] = Field(None, title="V (eV)") + + +class HubbardVProviderSchema(RootModel[List[HubbardVProviderSchemaItem]]): + root: List[HubbardVProviderSchemaItem] = Field(..., min_length=1, title="Hubbard V Provider Schema") + """ + Hubbard V parameters for DFT+U+V calculation. + """ diff --git a/src/py/mat3ra/esse/models/context_providers_directory/ion_dynamics_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/ion_dynamics_provider.py new file mode 100644 index 000000000..e9736e9b7 --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/ion_dynamics_provider.py @@ -0,0 +1,16 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/ion_dynamics_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, Field + + +class IonDynamicsProviderSchema(BaseModel): + numberOfSteps: Optional[int] = Field(None, title="numberOfSteps") + timeStep: Optional[float] = Field(None, title="timeStep (Hartree a.u.)") + electronMass: Optional[float] = Field(None, title="Effective electron mass") + temperature: Optional[float] = Field(None, title="Ionic temperature (K)") diff --git a/src/py/mat3ra/esse/models/context_providers_directory/ml_settings_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/ml_settings_provider.py new file mode 100644 index 000000000..e08e8af0f --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/ml_settings_provider.py @@ -0,0 +1,21 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/ml_settings_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class ProblemCategory(Enum): + regression = "regression" + classification = "classification" + clustering = "clustering" + + +class MLSettingsProviderSchema(BaseModel): + target_column_name: Optional[str] = None + problem_category: Optional[ProblemCategory] = None diff --git a/src/py/mat3ra/esse/models/context_providers_directory/ml_train_test_split_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/ml_train_test_split_provider.py new file mode 100644 index 000000000..cde060203 --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/ml_train_test_split_provider.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/ml_train_test_split_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel, confloat + + +class MLTrainTestSplitProviderSchema(BaseModel): + fraction_held_as_test_set: Optional[confloat(ge=0.0, le=1.0)] = None diff --git a/src/py/mat3ra/esse/models/context_providers_directory/neb_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/neb_provider.py new file mode 100644 index 000000000..a6ac879cf --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/neb_provider.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/neb_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class NEBProviderSchema(BaseModel): + nImages: Optional[float] = None diff --git a/src/py/mat3ra/esse/models/context_providers_directory/non_collinear_magnetization_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/non_collinear_magnetization_provider.py new file mode 100644 index 000000000..f99276c11 --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/non_collinear_magnetization_provider.py @@ -0,0 +1,56 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/non_collinear_magnetization_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class StartingMagnetizationItem(BaseModel): + index: Optional[int] = Field(None, title="Index") + atomicSpecies: Optional[str] = Field(None, title="Atomic species") + value: Optional[float] = Field(None, title="Starting magnetization") + + +class SpinAngle(BaseModel): + index: Optional[int] = Field(None, title="Index") + atomicSpecies: Optional[str] = Field(None, title="Atomic species") + angle1: Optional[float] = Field(None, title="Angle1 (deg)") + angle2: Optional[float] = Field(None, title="Angle2 (deg)") + + +class ConstrainType(Enum): + none = "none" + total = "total" + atomic = "atomic" + total_direction = "total direction" + atomic_direction = "atomic direction" + + +class ConstrainedMagnetization(BaseModel): + constrainType: Optional[ConstrainType] = Field(None, title="Constrain type") + lambda_: Optional[float] = Field(None, alias="lambda", title="lambda") + + +class FixedMagnetization(BaseModel): + x: Optional[float] = Field(None, title="X-component") + y: Optional[float] = Field(None, title="Y-component") + z: Optional[float] = Field(None, title="Z-component") + + +class NonCollinearMagnetizationProviderSchema(BaseModel): + isExistingChargeDensity: Optional[bool] = Field(None, title="Use existing charge density") + isStartingMagnetization: Optional[bool] = Field(None, title="Set starting magnetization") + startingMagnetization: Optional[List[StartingMagnetizationItem]] = None + isArbitrarySpinAngle: Optional[bool] = Field(None, title="Set arbitrary spin angle") + spinAngles: Optional[List[SpinAngle]] = None + isConstrainedMagnetization: Optional[bool] = Field(None, title="Set constrained magnetization") + constrainedMagnetization: Optional[ConstrainedMagnetization] = None + isFixedMagnetization: Optional[bool] = Field( + None, title="Set Fixed magnetization (only applicable to constrained magnetization of 'total' type)" + ) + fixedMagnetization: Optional[FixedMagnetization] = None diff --git a/src/py/mat3ra/esse/models/context_providers_directory/planewave_cutoffs_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/planewave_cutoffs_provider.py new file mode 100644 index 000000000..e7043e957 --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/planewave_cutoffs_provider.py @@ -0,0 +1,14 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/planewave_cutoffs_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class PlanewaveCutoffsProviderSchema(BaseModel): + wavefunction: Optional[float] = None + density: Optional[float] = None diff --git a/src/py/mat3ra/esse/models/context_providers_directory/points_grid_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/points_grid_provider.py new file mode 100644 index 000000000..18d0dd41d --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/points_grid_provider.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/points_grid_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class GridMetricType(Enum): + KPPRA = "KPPRA" + spacing = "spacing" + + +class PointsGridProviderSchema(BaseModel): + dimensions: Optional[List[float]] = Field(None, max_length=3, min_length=3) + shifts: Optional[List[float]] = Field(None, max_length=3, min_length=3) + reciprocalVectorRatios: Optional[List[float]] = Field(None, max_length=3, min_length=3) + gridMetricType: Optional[GridMetricType] = None + gridMetricValue: Optional[float] = None + preferGridMetric: Optional[bool] = None diff --git a/src/py/mat3ra/esse/models/context_providers_directory/points_path_provider.py b/src/py/mat3ra/esse/models/context_providers_directory/points_path_provider.py new file mode 100644 index 000000000..56ded8441 --- /dev/null +++ b/src/py/mat3ra/esse/models/context_providers_directory/points_path_provider.py @@ -0,0 +1,21 @@ +# generated by datamodel-codegen: +# filename: context_providers_directory/points_path_provider.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel + + +class PointsPathProviderSchemaItem(BaseModel): + point: Optional[str] = None + steps: Optional[int] = None + + +class PointsPathProviderSchema(RootModel[List[PointsPathProviderSchemaItem]]): + root: List[PointsPathProviderSchemaItem] = Field(..., min_length=1, title="Points Path Provider Schema") + """ + Path in reciprocal space for band structure calculations. + """ diff --git a/src/py/mat3ra/esse/models/core/primitive/linked_list/named_node.py b/src/py/mat3ra/esse/models/core/primitive/linked_list/named_node.py index ce98bd781..b11e1fb74 100644 --- a/src/py/mat3ra/esse/models/core/primitive/linked_list/named_node.py +++ b/src/py/mat3ra/esse/models/core/primitive/linked_list/named_node.py @@ -22,7 +22,7 @@ class NamedNodeSchema(BaseModel): """ Unique flowchart ID of node """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/core/primitive/linked_list/named_node_in_group.py b/src/py/mat3ra/esse/models/core/primitive/linked_list/named_node_in_group.py index 7ecd064ef..d70a0623b 100644 --- a/src/py/mat3ra/esse/models/core/primitive/linked_list/named_node_in_group.py +++ b/src/py/mat3ra/esse/models/core/primitive/linked_list/named_node_in_group.py @@ -22,7 +22,7 @@ class NamedNodeInGroupSchema(BaseModel): """ Unique flowchart ID of node """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/core/reference/__init__.py b/src/py/mat3ra/esse/models/core/reference/__init__.py index 4898780cd..d715db122 100644 --- a/src/py/mat3ra/esse/models/core/reference/__init__.py +++ b/src/py/mat3ra/esse/models/core/reference/__init__.py @@ -42,7 +42,7 @@ class InfoForCharacteristicObtainedByExabyteCalculation(BaseModel): owner: EntityReferenceSchema = Field(..., title="entity reference schema") -class Type69(Enum): +class Type77(Enum): experiment = "experiment" @@ -83,7 +83,7 @@ class LocationSchema(BaseModel): """ -class Type70(Enum): +class Type78(Enum): literature = "literature" @@ -93,7 +93,7 @@ class PagesSchema(BaseModel): class LiteratureReferenceSchema(BaseModel): - type: Optional[Type70] = None + type: Optional[Type78] = None doi: Optional[str] = None """ Digital Object Identifier of the reference. @@ -153,7 +153,7 @@ class LiteratureReferenceSchema(BaseModel): class InfoForCharacteristicObtainedByExperiment(BaseModel): - type: Optional[Type69] = None + type: Optional[Type77] = None authors: List[ExperimentAuthorSchema] """ experiment authors @@ -183,7 +183,7 @@ class InfoForCharacteristicObtainedByExperiment(BaseModel): class LiteratureReferenceSchema12(BaseModel): - type: Optional[Type70] = None + type: Optional[Type78] = None doi: Optional[str] = None """ Digital Object Identifier of the reference. diff --git a/src/py/mat3ra/esse/models/core/reference/experiment/__init__.py b/src/py/mat3ra/esse/models/core/reference/experiment/__init__.py index 75a2e8eeb..8427fc3eb 100644 --- a/src/py/mat3ra/esse/models/core/reference/experiment/__init__.py +++ b/src/py/mat3ra/esse/models/core/reference/experiment/__init__.py @@ -51,7 +51,7 @@ class LocationSchema(BaseModel): """ -class Type14(Enum): +class Type18(Enum): literature = "literature" @@ -61,7 +61,7 @@ class PagesSchema(BaseModel): class LiteratureReferenceSchema(BaseModel): - type: Optional[Type14] = None + type: Optional[Type18] = None doi: Optional[str] = None """ Digital Object Identifier of the reference. diff --git a/src/py/mat3ra/esse/models/core/reusable/repetition.py b/src/py/mat3ra/esse/models/core/reusable/repetition.py deleted file mode 100644 index 2795370ee..000000000 --- a/src/py/mat3ra/esse/models/core/reusable/repetition.py +++ /dev/null @@ -1,14 +0,0 @@ -# generated by datamodel-codegen: -# filename: core/reusable/repetition.json -# version: 0.28.5 - -from __future__ import annotations - -from pydantic import BaseModel - - -class RepetitionPropertySchema(BaseModel): - repetition: float - """ - Repetition number for the property - """ diff --git a/src/py/mat3ra/esse/models/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.py b/src/py/mat3ra/esse/models/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.py index a91ebb202..479f18f0f 100644 --- a/src/py/mat3ra/esse/models/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.py +++ b/src/py/mat3ra/esse/models/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.py @@ -49,7 +49,7 @@ class HasConsistencyCheckHasMetadataNamedDefaultableInMemoryEntitySchema(BaseMod """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/in_memory_entity/named.py b/src/py/mat3ra/esse/models/in_memory_entity/named.py index 637846f1c..57a7e9504 100644 --- a/src/py/mat3ra/esse/models/in_memory_entity/named.py +++ b/src/py/mat3ra/esse/models/in_memory_entity/named.py @@ -23,7 +23,7 @@ class NamedInMemoryEntitySchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/in_memory_entity/named_defaultable.py b/src/py/mat3ra/esse/models/in_memory_entity/named_defaultable.py index ede5f975f..1464f2d01 100644 --- a/src/py/mat3ra/esse/models/in_memory_entity/named_defaultable.py +++ b/src/py/mat3ra/esse/models/in_memory_entity/named_defaultable.py @@ -23,7 +23,7 @@ class NamedDefaultableInMemoryEntitySchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/in_memory_entity/named_defaultable_has_metadata.py b/src/py/mat3ra/esse/models/in_memory_entity/named_defaultable_has_metadata.py index 55b4f5c30..992d58238 100644 --- a/src/py/mat3ra/esse/models/in_memory_entity/named_defaultable_has_metadata.py +++ b/src/py/mat3ra/esse/models/in_memory_entity/named_defaultable_has_metadata.py @@ -23,7 +23,7 @@ class NamedDefaultableHasMetadataInMemoryEntitySchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/job/__init__.py b/src/py/mat3ra/esse/models/job/__init__.py index 9f1b811a6..e5d2ba2dc 100644 --- a/src/py/mat3ra/esse/models/job/__init__.py +++ b/src/py/mat3ra/esse/models/job/__init__.py @@ -10,6 +10,27 @@ from pydantic import BaseModel, ConfigDict, Field, RootModel, conint +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): io = "io" @@ -54,7 +75,7 @@ class DataIODatabaseInputOutputSchema(BaseModel): """ -class DataIODatabaseInputOutputSchema9(BaseModel): +class DataIODatabaseInputOutputSchema11(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -118,74 +139,14 @@ class ObjectStorageIoSchema(BaseModel): """ -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class DataIOUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema9], - ObjectStorageIoSchema, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -195,23 +156,27 @@ class DataIOUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -219,10 +184,45 @@ class DataIOUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema11], + ObjectStorageIoSchema, + ] + ] -class Type40(Enum): +class Type45(Enum): reduce = "reduce" @@ -241,85 +241,85 @@ class ReduceUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - mapFlowchartId: str + slug: Optional[str] = None """ - corresponding map unit flowchart ID + entity slug """ - input: List[InputItem] + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - input information for reduce unit + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: Optional[str] = None + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable """ - status: Optional[Status] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ - Status of the unit. + names of the pre-processors for this calculation """ - head: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Whether this unit is the first one to be executed. + names of the post-processors for this calculation """ - flowchartId: str + monitors: List[RuntimeItemNameObjectSchema] """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + names of the monitors for this calculation """ - next: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] """ - Next unit's flowchartId. If empty, the current unit is the last. + names of the results for this calculation """ - enableRender: Optional[bool] = None + tags: Optional[List[str]] = None """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit + entity tags """ - context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + status: Optional[Status] = None """ - entity slug + Status of the unit. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - entity's schema version. Used to distinct between different schemas. + type of the unit """ - isDefault: Optional[bool] = False + head: Optional[bool] = None """ - Identifies that entity is defaultable + Whether this unit is the first one to be executed. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + flowchartId: str """ - names of the pre-processors for this calculation + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + next: Optional[str] = None """ - names of the post-processors for this calculation + Next unit's flowchartId. If empty, the current unit is the last. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + enableRender: Optional[bool] = None """ - names of the monitors for this calculation + Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ - results: Optional[List[Union[NameResultSchema, str]]] = None + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str """ - names of the results for this calculation + corresponding map unit flowchart ID """ - tags: Optional[List[str]] = None + input: List[InputItem] """ - entity tags + input information for reduce unit """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type41(Enum): +class Type46(Enum): condition = "condition" @@ -338,47 +338,57 @@ class ConditionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - input: List[WorkflowUnitInputSchema] + slug: Optional[str] = None """ - Input information for condition. + entity slug """ - statement: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + entity's schema version. Used to distinct between different schemas. """ - then: str + name: str """ - Flowchart ID reference for `then` part of the condition. + entity name """ - else_: str = Field(..., alias="else") + isDefault: Optional[bool] = False """ - Flowchart ID reference for `else` part of the condition. + Identifies that entity is defaultable """ - maxOccurrences: int + preProcessors: List[RuntimeItemNameObjectSchema] """ - Maximum occurrence of the condition, usable for loops. + names of the pre-processors for this calculation """ - throwException: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Throw exception on reaching to maximum occurence. + names of the post-processors for this calculation """ - field_id: Optional[str] = Field(None, alias="_id") + monitors: List[RuntimeItemNameObjectSchema] """ - entity identity + names of the monitors for this calculation """ - isDraft: Optional[bool] = None - name: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None """ - name of the unit. e.g. pw_scf + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -396,43 +406,33 @@ class ConditionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug + input: List[WorkflowUnitInputSchema] """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + Input information for condition. """ - entity's schema version. Used to distinct between different schemas. + statement: str """ - isDefault: Optional[bool] = False + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' """ - Identifies that entity is defaultable + then: str """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `then` part of the condition. """ - names of the pre-processors for this calculation + else_: str = Field(..., alias="else") """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `else` part of the condition. """ - names of the post-processors for this calculation + maxOccurrences: int """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + Maximum occurrence of the condition, usable for loops. """ - names of the monitors for this calculation + throwException: Optional[bool] = None """ - results: Optional[List[Union[NameResultSchema, str]]] = None + Throw exception on reaching to maximum occurence. """ - names of the results for this calculation - """ - tags: Optional[List[str]] = None - """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type42(Enum): +class Type47(Enum): assertion = "assertion" @@ -440,31 +440,57 @@ class AssertionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - statement: str + slug: Optional[str] = None """ - The statement to be evaluated + entity slug """ - errorMessage: Optional[str] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - The error message to be displayed if the assertion fails + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: str + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation """ - name of the unit. e.g. pw_scf + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -482,63 +508,55 @@ class AssertionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statement: str """ - entity's schema version. Used to distinct between different schemas. + The statement to be evaluated """ - isDefault: Optional[bool] = False + errorMessage: Optional[str] = None """ - Identifies that entity is defaultable + The error message to be displayed if the assertion fails """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + + +class Type48(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") """ - names of the pre-processors for this calculation + entity identity """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + slug: Optional[str] = None """ - names of the post-processors for this calculation + entity slug """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - names of the monitors for this calculation + entity's schema version. Used to distinct between different schemas. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + name: str """ - names of the results for this calculation + entity name """ - tags: Optional[List[str]] = None + isDefault: Optional[bool] = False """ - entity tags + Identifies that entity is defaultable """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type43(Enum): - execution = "execution" - - -class ApplicationSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - shortName: Optional[str] = None + shortName: str """ The short name of the application. e.g. qe """ - summary: Optional[str] = None + summary: str """ Application's short description. """ - version: Optional[str] = None + version: str """ Application version. e.g. 5.3.5 """ - build: Optional[str] = None + build: str """ Application build. e.g. VTST """ @@ -550,6 +568,9 @@ class ApplicationSchemaBase(BaseModel): """ Whether licensing is present """ + + +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -563,7 +584,7 @@ class ApplicationSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -571,14 +592,23 @@ class ApplicationSchemaBase(BaseModel): """ Identifies that entity is defaultable """ - - -class ExecutableSchema(BaseModel): - name: str + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] """ - The name of the executable. e.g. pw.x + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation """ - applicationId: Optional[List[str]] = None + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -586,6 +616,21 @@ class ExecutableSchema(BaseModel): """ Whether advanced compute options are present """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -599,42 +644,31 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - templateId: Optional[str] = None - templateName: Optional[str] = None - name: Optional[str] = None - """ - name of the resulting input file, if different than template name - """ - - -class FlavorSchema(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -646,13 +680,19 @@ class FlavorSchema(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -666,7 +706,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -674,51 +714,35 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") - input: Any + tags: Optional[List[str]] = None """ - unit input (type to be specified by the application's execution unit) + entity tags """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -737,6 +761,27 @@ class ExecutionUnitSchemaBase(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type49(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -746,23 +791,27 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -770,45 +819,15 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type44(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -827,44 +846,22 @@ class AssignmentUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] """ - entity slug + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the monitors for this calculation - """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operand: str """ - names of the results for this calculation + Name of the global variable. e.g. 'x' """ - tags: Optional[List[str]] = None + value: Union[str, bool, float] """ - entity tags + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None -class Type45(Enum): +class Type50(Enum): processing = "processing" @@ -872,35 +869,57 @@ class ProcessingUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - operation: str + slug: Optional[str] = None """ - Contains information about the operation used. + entity slug """ - operationType: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Contains information about the specific type of the operation used. + entity's schema version. Used to distinct between different schemas. """ - inputData: Any + name: str """ - unit input (type to be specified by the child units) + entity name """ - field_id: Optional[str] = Field(None, alias="_id") + isDefault: Optional[bool] = False """ - entity identity + Identifies that entity is defaultable """ - isDraft: Optional[bool] = None - name: str + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation """ - name of the unit. e.g. pw_scf + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -918,40 +937,18 @@ class ProcessingUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + operation: str """ - names of the monitors for this calculation + Contains information about the operation used. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operationType: str """ - names of the results for this calculation + Contains information about the specific type of the operation used. """ - tags: Optional[List[str]] = None + inputData: Any """ - entity tags + unit input (type to be specified by the child units) """ - statusTrack: Optional[List[StatusTrackItem]] = None class WorkflowSubworkflowUnitSchema( @@ -1192,11 +1189,11 @@ class Subworkflow(BaseModel): """ -class Type46(Enum): +class Type51(Enum): io = "io" -class DataIODatabaseInputOutputSchema10(BaseModel): +class DataIODatabaseInputOutputSchema12(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -1206,7 +1203,7 @@ class DataIODatabaseInputOutputSchema10(BaseModel): """ -class DataIODatabaseInputOutputSchema11(BaseModel): +class DataIODatabaseInputOutputSchema13(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -1220,7 +1217,7 @@ class DataIODatabaseInputOutputSchema11(BaseModel): """ -class ObjectStorageIoSchema4(BaseModel): +class ObjectStorageIoSchema5(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -1247,32 +1244,57 @@ class DataIOUnitSchema4(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema10, DataIODatabaseInputOutputSchema11], - ObjectStorageIoSchema4, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None + slug: Optional[str] = None """ - name of the unit. e.g. pw_scf + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -1290,6 +1312,29 @@ class DataIOUnitSchema4(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema12, DataIODatabaseInputOutputSchema13], + ObjectStorageIoSchema5, + ] + ] + + +class Type52(Enum): + reduce = "reduce" + + +class ReduceUnitSchema3(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1299,23 +1344,27 @@ class DataIOUnitSchema4(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1323,41 +1372,15 @@ class DataIOUnitSchema4(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type47(Enum): - reduce = "reduce" - - -class ReduceUnitSchema3(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - mapFlowchartId: str - """ - corresponding map unit flowchart ID - """ - input: List[InputItem] - """ - input information for reduce unit - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1376,6 +1399,28 @@ class ReduceUnitSchema3(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type53(Enum): + condition = "condition" + + +class ConditionUnitSchema4(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1385,23 +1430,27 @@ class ReduceUnitSchema3(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1409,21 +1458,33 @@ class ReduceUnitSchema3(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type48(Enum): - condition = "condition" - - -class ConditionUnitSchema4(BaseModel): - model_config = ConfigDict( - extra="allow", - ) + isDraft: Optional[bool] = None type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] """ type of the unit """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None input: List[WorkflowUnitInputSchema] """ Input information for condition. @@ -1448,36 +1509,20 @@ class ConditionUnitSchema4(BaseModel): """ Throw exception on reaching to maximum occurence. """ + + +class Type54(Enum): + assertion = "assertion" + + +class AssertionUnitSchema4(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -1487,23 +1532,27 @@ class ConditionUnitSchema4(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1511,41 +1560,15 @@ class ConditionUnitSchema4(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type49(Enum): - assertion = "assertion" - - -class AssertionUnitSchema4(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - statement: str - """ - The statement to be evaluated - """ - errorMessage: Optional[str] = None - """ - The error message to be displayed if the assertion fails - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1564,6 +1587,25 @@ class AssertionUnitSchema4(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type55(Enum): + execution = "execution" + + +class ExecutableSchema8(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1573,43 +1615,31 @@ class AssertionUnitSchema4(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - tags: Optional[List[str]] = None - """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type50(Enum): - execution = "execution" - - -class ExecutableSchema7(BaseModel): - name: str - """ - The name of the executable. e.g. pw.x - """ - applicationId: Optional[List[str]] = None + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -1617,6 +1647,9 @@ class ExecutableSchema7(BaseModel): """ Whether advanced compute options are present """ + + +class FlavorSchema8(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1630,30 +1663,31 @@ class ExecutableSchema7(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class FlavorSchema7(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -1665,97 +1699,23 @@ class FlavorSchema7(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ - field_id: Optional[str] = Field(None, alias="_id") - """ - entity identity - """ - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - name: Optional[str] = None - """ - entity name - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the monitors for this calculation - """ - results: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the results for this calculation - """ class ExecutionUnitSchemaBase4(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema7] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema7] = Field(None, title="flavor schema") - input: Any - """ - unit input (type to be specified by the application's execution unit) - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -1765,23 +1725,27 @@ class ExecutionUnitSchemaBase4(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1789,45 +1753,15 @@ class ExecutionUnitSchemaBase4(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type51(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema4(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1846,6 +1780,27 @@ class AssignmentUnitSchema4(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema8] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema8] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type56(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema4(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1855,23 +1810,27 @@ class AssignmentUnitSchema4(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1879,46 +1838,15 @@ class AssignmentUnitSchema4(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None - - -class Type52(Enum): - processing = "processing" - - -class ProcessingUnitSchema3(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - operation: str - """ - Contains information about the operation used. - """ - operationType: str - """ - Contains information about the specific type of the operation used. - """ - inputData: Any - """ - unit input (type to be specified by the child units) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1937,6 +1865,33 @@ class ProcessingUnitSchema3(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type57(Enum): + processing = "processing" + + +class ProcessingUnitSchema3(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1946,23 +1901,27 @@ class ProcessingUnitSchema3(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1970,10 +1929,48 @@ class ProcessingUnitSchema3(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ -class Type53(Enum): +class Type58(Enum): map = "map" @@ -2001,48 +1998,10 @@ class MapUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - workflowId: str - """ - Id of workflow to run inside map - """ - input: Input - """ - Input information for map. - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -2052,23 +2011,27 @@ class MapUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2076,33 +2039,15 @@ class MapUnitSchema(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type54(Enum): - subworkflow = "subworkflow" - - -class SubworkflowUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -2121,6 +2066,28 @@ class SubworkflowUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ + + +class Type59(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -2130,23 +2097,27 @@ class SubworkflowUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2154,7 +2125,33 @@ class SubworkflowUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None class WorkflowUnitSchema( @@ -2219,7 +2216,7 @@ class WorkflowSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2230,7 +2227,7 @@ class WorkflowSchema(BaseModel): metadata: Optional[Dict[str, Any]] = None -class Status41(Enum): +class Status42(Enum): pre_submission = "pre-submission" queued = "queued" submitted = "submitted" @@ -2348,7 +2345,7 @@ class JobSchema(BaseModel): """ Identity used to track jobs originated from command-line """ - status: Status41 + status: Status42 """ job status """ @@ -2388,7 +2385,7 @@ class JobSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/job/base.py b/src/py/mat3ra/esse/models/job/base.py index 37a742940..c446e4d49 100644 --- a/src/py/mat3ra/esse/models/job/base.py +++ b/src/py/mat3ra/esse/models/job/base.py @@ -244,7 +244,7 @@ class JobBaseSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/material/__init__.py b/src/py/mat3ra/esse/models/material/__init__.py index 809c891a2..e72efe1bf 100644 --- a/src/py/mat3ra/esse/models/material/__init__.py +++ b/src/py/mat3ra/esse/models/material/__init__.py @@ -526,7 +526,7 @@ class MaterialSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py b/src/py/mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py index 08e88d184..d9441246e 100644 --- a/src/py/mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py +++ b/src/py/mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py @@ -660,7 +660,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1125,7 +1125,7 @@ class CrystalSchema39(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1622,7 +1622,7 @@ class CrystalSchema40(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2081,7 +2081,7 @@ class CrystalSchema41(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2571,7 +2571,7 @@ class CrystalSchema42(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3030,7 +3030,7 @@ class CrystalSchema43(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3508,7 +3508,7 @@ class CrystalSchema44(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3967,7 +3967,7 @@ class CrystalSchema45(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -4444,7 +4444,7 @@ class CrystalSchema46(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py index a2b2429ec..5cd69896f 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py +++ b/src/py/mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py @@ -660,7 +660,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1125,7 +1125,7 @@ class CrystalSchema30(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1622,7 +1622,7 @@ class CrystalSchema31(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2081,7 +2081,7 @@ class CrystalSchema32(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2571,7 +2571,7 @@ class CrystalSchema33(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3030,7 +3030,7 @@ class CrystalSchema34(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3508,7 +3508,7 @@ class CrystalSchema35(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3967,7 +3967,7 @@ class CrystalSchema36(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -4444,7 +4444,7 @@ class CrystalSchema37(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py index ac457cd43..80baac7a1 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py +++ b/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py @@ -660,7 +660,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1125,7 +1125,7 @@ class CrystalSchema20(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1601,7 +1601,7 @@ class CrystalSchema21(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2183,7 +2183,7 @@ class CrystalSchema22(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py index 259467eb1..3d19c8693 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py +++ b/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py @@ -666,7 +666,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1125,7 +1125,7 @@ class CrystalSchema5(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1622,7 +1622,7 @@ class CrystalSchema6(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2081,7 +2081,7 @@ class CrystalSchema7(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2571,7 +2571,7 @@ class CrystalSchema8(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3030,7 +3030,7 @@ class CrystalSchema9(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3508,7 +3508,7 @@ class CrystalSchema10(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3967,7 +3967,7 @@ class CrystalSchema11(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -4444,7 +4444,7 @@ class CrystalSchema12(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py index 860e46df5..90fba4596 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py +++ b/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py @@ -660,7 +660,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1125,7 +1125,7 @@ class CrystalSchema24(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1614,7 +1614,7 @@ class CrystalSchema25(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2073,7 +2073,7 @@ class CrystalSchema26(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2538,7 +2538,7 @@ class CrystalSchema27(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3052,7 +3052,7 @@ class CrystalSchema28(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py index ae8aa554f..f10527125 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py +++ b/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py @@ -660,7 +660,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1125,7 +1125,7 @@ class CrystalSchema14(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1614,7 +1614,7 @@ class CrystalSchema15(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2073,7 +2073,7 @@ class CrystalSchema16(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2538,7 +2538,7 @@ class CrystalSchema17(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -3052,7 +3052,7 @@ class CrystalSchema18(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.py index 4244f4213..c0c80dd2f 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.py +++ b/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py index 29d86883c..c28604f1c 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py +++ b/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -962,7 +962,7 @@ class CrystalSchema55(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py index 1ef7a9f7f..75c3af08c 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py +++ b/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -962,7 +962,7 @@ class CrystalSchema72(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py index ead269a85..bbcd38389 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py +++ b/src/py/mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py b/src/py/mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py index e022037f0..c938a2e7a 100644 --- a/src/py/mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py +++ b/src/py/mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py @@ -526,7 +526,7 @@ class IdealCrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanoribbon.py b/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanoribbon.py index e807d4438..d15d7f660 100644 --- a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanoribbon.py +++ b/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanoribbon.py @@ -673,7 +673,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1146,7 +1146,7 @@ class CrystalSchema57(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1622,7 +1622,7 @@ class CrystalSchema58(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py b/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py index 75d61b837..a55efeeba 100644 --- a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py +++ b/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py @@ -673,7 +673,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1146,7 +1146,7 @@ class CrystalSchema60(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py b/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py index 58b3a4ea3..4b3cf060f 100644 --- a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +++ b/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py @@ -660,7 +660,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1125,7 +1125,7 @@ class CrystalSchema63(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py b/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py index d28e72ee2..356a2c549 100644 --- a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py +++ b/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py @@ -668,7 +668,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1133,7 +1133,7 @@ class CrystalSchema68(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py b/src/py/mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py index 91ecfda85..4f908647f 100644 --- a/src/py/mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py +++ b/src/py/mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py @@ -526,7 +526,7 @@ class MaterialSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -962,7 +962,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py b/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py index 97f9e0205..1d0609365 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py b/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py index 200573da8..31741ee07 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py b/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py index b9a53b499..6ff351a22 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py b/src/py/mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py index fbabff034..076b6944b 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py b/src/py/mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py index 2ca63a61d..6dadd7bf6 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py @@ -532,7 +532,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py index 848081277..ee015d082 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py index a7da79ecd..97e301722 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py @@ -673,7 +673,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py index 2abb4177f..454cfea75 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py index 51720ffb7..1cb1c4cc1 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py index b6905a061..c84e31719 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py index aa426e67d..cf74a181f 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py index df7a9db38..47078b600 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py @@ -660,7 +660,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py index 83a93498c..f2647155f 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py @@ -660,7 +660,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py index 36381e02f..713664721 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py @@ -660,7 +660,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py index 4b7505615..440435560 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py @@ -526,7 +526,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py index 0df9ad8f1..323485e01 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py +++ b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py @@ -660,7 +660,7 @@ class CrystalSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1125,7 +1125,7 @@ class CrystalSchema65(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1601,7 +1601,7 @@ class CrystalSchema66(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py b/src/py/mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py index a972c5ecb..02a4dc2df 100644 --- a/src/py/mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py +++ b/src/py/mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py @@ -526,7 +526,7 @@ class MaterialSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/method/categorized_method.py b/src/py/mat3ra/esse/models/method/categorized_method.py index 3cc2cf7ac..4e9cde4cc 100644 --- a/src/py/mat3ra/esse/models/method/categorized_method.py +++ b/src/py/mat3ra/esse/models/method/categorized_method.py @@ -56,7 +56,7 @@ class CategorizedUnitMethod(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ @@ -72,7 +72,7 @@ class CategorizedUnitMethod(BaseModel): class CategorizedMethod(BaseModel): units: List[CategorizedUnitMethod] - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/method/unit_method.py b/src/py/mat3ra/esse/models/method/unit_method.py index 278ff7223..825af930e 100644 --- a/src/py/mat3ra/esse/models/method/unit_method.py +++ b/src/py/mat3ra/esse/models/method/unit_method.py @@ -56,7 +56,7 @@ class CategorizedUnitMethod(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/methods_directory/mathematical/cg.py b/src/py/mat3ra/esse/models/methods_directory/mathematical/cg.py index 3904f63ca..b57969eb5 100644 --- a/src/py/mat3ra/esse/models/methods_directory/mathematical/cg.py +++ b/src/py/mat3ra/esse/models/methods_directory/mathematical/cg.py @@ -73,7 +73,7 @@ class UnitMethodConjugateGradient(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/methods_directory/mathematical/davidson.py b/src/py/mat3ra/esse/models/methods_directory/mathematical/davidson.py index e62871845..c0959fd77 100644 --- a/src/py/mat3ra/esse/models/methods_directory/mathematical/davidson.py +++ b/src/py/mat3ra/esse/models/methods_directory/mathematical/davidson.py @@ -69,7 +69,7 @@ class UnitMethodDavidsonSchema(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/methods_directory/mathematical/regression/__init__.py b/src/py/mat3ra/esse/models/methods_directory/mathematical/regression/__init__.py index f57759a03..4cd24d6a9 100644 --- a/src/py/mat3ra/esse/models/methods_directory/mathematical/regression/__init__.py +++ b/src/py/mat3ra/esse/models/methods_directory/mathematical/regression/__init__.py @@ -147,7 +147,7 @@ class UnitMethodRegression(BaseModel): """ Instructive parameters defining the method """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/methods_directory/physical/ao/dunning.py b/src/py/mat3ra/esse/models/methods_directory/physical/ao/dunning.py index 21a985951..03a4348c7 100644 --- a/src/py/mat3ra/esse/models/methods_directory/physical/ao/dunning.py +++ b/src/py/mat3ra/esse/models/methods_directory/physical/ao/dunning.py @@ -85,7 +85,7 @@ class UnitMethodAoDunning(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/methods_directory/physical/ao/other.py b/src/py/mat3ra/esse/models/methods_directory/physical/ao/other.py index d4c30f0fb..cfcce7aa1 100644 --- a/src/py/mat3ra/esse/models/methods_directory/physical/ao/other.py +++ b/src/py/mat3ra/esse/models/methods_directory/physical/ao/other.py @@ -89,7 +89,7 @@ class UnitMethodAoOther(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/methods_directory/physical/ao/pople.py b/src/py/mat3ra/esse/models/methods_directory/physical/ao/pople.py index 53d197e2f..82148e8f2 100644 --- a/src/py/mat3ra/esse/models/methods_directory/physical/ao/pople.py +++ b/src/py/mat3ra/esse/models/methods_directory/physical/ao/pople.py @@ -83,7 +83,7 @@ class UnitMethodAoPople(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/methods_directory/physical/psp/__init__.py b/src/py/mat3ra/esse/models/methods_directory/physical/psp/__init__.py index 458d5e2f7..a89d67bf4 100644 --- a/src/py/mat3ra/esse/models/methods_directory/physical/psp/__init__.py +++ b/src/py/mat3ra/esse/models/methods_directory/physical/psp/__init__.py @@ -197,7 +197,7 @@ class UnitMethodPseudopotential(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/methods_directory/physical/pw.py b/src/py/mat3ra/esse/models/methods_directory/physical/pw.py index a6bc09917..1211d53ba 100644 --- a/src/py/mat3ra/esse/models/methods_directory/physical/pw.py +++ b/src/py/mat3ra/esse/models/methods_directory/physical/pw.py @@ -69,7 +69,7 @@ class UnitMethodPlaneWave(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/methods_directory/physical/smearing.py b/src/py/mat3ra/esse/models/methods_directory/physical/smearing.py index d44a8275e..8d8757849 100644 --- a/src/py/mat3ra/esse/models/methods_directory/physical/smearing.py +++ b/src/py/mat3ra/esse/models/methods_directory/physical/smearing.py @@ -76,7 +76,7 @@ class UnitMethodSmearing(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/methods_directory/physical/tetrahedron.py b/src/py/mat3ra/esse/models/methods_directory/physical/tetrahedron.py index 28f47e3ae..dfaaaa797 100644 --- a/src/py/mat3ra/esse/models/methods_directory/physical/tetrahedron.py +++ b/src/py/mat3ra/esse/models/methods_directory/physical/tetrahedron.py @@ -77,7 +77,7 @@ class UnitMethodTetrahedron(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/model/categorized_model.py b/src/py/mat3ra/esse/models/model/categorized_model.py index e611baed7..2affe495a 100644 --- a/src/py/mat3ra/esse/models/model/categorized_model.py +++ b/src/py/mat3ra/esse/models/model/categorized_model.py @@ -57,7 +57,7 @@ class CategorizedUnitMethod(BaseModel): """ Object showing the actual possible precision based on theory and implementation """ - name: Optional[str] = None + name: str """ entity name """ @@ -73,7 +73,7 @@ class CategorizedUnitMethod(BaseModel): class CategorizedMethod(BaseModel): units: List[CategorizedUnitMethod] - name: Optional[str] = None + name: str """ entity name """ @@ -197,7 +197,7 @@ class CategorizedModel(BaseModel): Model parameters defined in-place or via model mixins """ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/model/model_without_method.py b/src/py/mat3ra/esse/models/model/model_without_method.py index 2cc2be864..bd09f67e4 100644 --- a/src/py/mat3ra/esse/models/model/model_without_method.py +++ b/src/py/mat3ra/esse/models/model/model_without_method.py @@ -130,7 +130,7 @@ class ModelWithoutMethodSchemaBase(BaseModel): Model parameters defined in-place or via model mixins """ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/models_directory/double_hybrid.py b/src/py/mat3ra/esse/models/models_directory/double_hybrid.py index 3a9e2f43a..4100b2a68 100644 --- a/src/py/mat3ra/esse/models/models_directory/double_hybrid.py +++ b/src/py/mat3ra/esse/models/models_directory/double_hybrid.py @@ -191,7 +191,7 @@ class ModelDoubleHybridFunctional(BaseModel): Model parameters defined in-place or via model mixins """ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/models_directory/gga.py b/src/py/mat3ra/esse/models/models_directory/gga.py index a26d3865b..3fc490c34 100644 --- a/src/py/mat3ra/esse/models/models_directory/gga.py +++ b/src/py/mat3ra/esse/models/models_directory/gga.py @@ -205,7 +205,7 @@ class ModelGeneralizedGradientApproximation(BaseModel): Model parameters defined in-place or via model mixins """ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/models_directory/gw.py b/src/py/mat3ra/esse/models/models_directory/gw.py index 6b9218d06..02b72a24a 100644 --- a/src/py/mat3ra/esse/models/models_directory/gw.py +++ b/src/py/mat3ra/esse/models/models_directory/gw.py @@ -258,7 +258,7 @@ class ModelGwApproximation(BaseModel): Model parameters defined in-place or via model mixins """ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/models_directory/hybrid.py b/src/py/mat3ra/esse/models/models_directory/hybrid.py index d2b9ca268..a7b46b54c 100644 --- a/src/py/mat3ra/esse/models/models_directory/hybrid.py +++ b/src/py/mat3ra/esse/models/models_directory/hybrid.py @@ -199,7 +199,7 @@ class ModelHybridFunctional(BaseModel): Model parameters defined in-place or via model mixins """ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/models_directory/lda.py b/src/py/mat3ra/esse/models/models_directory/lda.py index d5f8ac8b1..8ff3d3c4a 100644 --- a/src/py/mat3ra/esse/models/models_directory/lda.py +++ b/src/py/mat3ra/esse/models/models_directory/lda.py @@ -204,7 +204,7 @@ class ModelLocalDensityApproximation(BaseModel): Model parameters defined in-place or via model mixins """ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/models_directory/mgga.py b/src/py/mat3ra/esse/models/models_directory/mgga.py index ad206bfd5..5f66db265 100644 --- a/src/py/mat3ra/esse/models/models_directory/mgga.py +++ b/src/py/mat3ra/esse/models/models_directory/mgga.py @@ -204,7 +204,7 @@ class ModelMetaGeneralizedGradientApproximation(BaseModel): Model parameters defined in-place or via model mixins """ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/models_directory/re.py b/src/py/mat3ra/esse/models/models_directory/re.py index fdd26c572..06a342232 100644 --- a/src/py/mat3ra/esse/models/models_directory/re.py +++ b/src/py/mat3ra/esse/models/models_directory/re.py @@ -146,7 +146,7 @@ class ModelRegression(BaseModel): Model parameters defined in-place or via model mixins """ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema") - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/project.py b/src/py/mat3ra/esse/models/project.py index cb1b9e7d5..eef937752 100644 --- a/src/py/mat3ra/esse/models/project.py +++ b/src/py/mat3ra/esse/models/project.py @@ -38,7 +38,7 @@ class ProjectSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/workflow.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/workflow.py index b99bd52a9..670510f66 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/workflow.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/workflow.py @@ -14,6 +14,27 @@ class Name(Enum): workflow_pyml_predict = "workflow:pyml_predict" +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): io = "io" @@ -58,7 +79,7 @@ class DataIODatabaseInputOutputSchema(BaseModel): """ -class DataIODatabaseInputOutputSchema23(BaseModel): +class DataIODatabaseInputOutputSchema25(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -122,74 +143,14 @@ class ObjectStorageIoSchema(BaseModel): """ -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class DataIOUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema23], - ObjectStorageIoSchema, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -199,23 +160,27 @@ class DataIOUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -223,10 +188,45 @@ class DataIOUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema25], + ObjectStorageIoSchema, + ] + ] -class Type117(Enum): +class Type126(Enum): reduce = "reduce" @@ -245,85 +245,85 @@ class ReduceUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - mapFlowchartId: str + slug: Optional[str] = None """ - corresponding map unit flowchart ID + entity slug """ - input: List[InputItem] + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - input information for reduce unit + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: Optional[str] = None + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable """ - status: Optional[Status] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ - Status of the unit. + names of the pre-processors for this calculation """ - head: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Whether this unit is the first one to be executed. + names of the post-processors for this calculation """ - flowchartId: str + monitors: List[RuntimeItemNameObjectSchema] """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + names of the monitors for this calculation """ - next: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] """ - Next unit's flowchartId. If empty, the current unit is the last. + names of the results for this calculation """ - enableRender: Optional[bool] = None + tags: Optional[List[str]] = None """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit + entity tags """ - context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + status: Optional[Status] = None """ - entity slug + Status of the unit. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - entity's schema version. Used to distinct between different schemas. + type of the unit """ - isDefault: Optional[bool] = False + head: Optional[bool] = None """ - Identifies that entity is defaultable + Whether this unit is the first one to be executed. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + flowchartId: str """ - names of the pre-processors for this calculation + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + next: Optional[str] = None """ - names of the post-processors for this calculation + Next unit's flowchartId. If empty, the current unit is the last. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + enableRender: Optional[bool] = None """ - names of the monitors for this calculation + Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ - results: Optional[List[Union[NameResultSchema, str]]] = None + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str """ - names of the results for this calculation + corresponding map unit flowchart ID """ - tags: Optional[List[str]] = None + input: List[InputItem] """ - entity tags + input information for reduce unit """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type118(Enum): +class Type127(Enum): condition = "condition" @@ -342,47 +342,57 @@ class ConditionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - input: List[WorkflowUnitInputSchema] + slug: Optional[str] = None """ - Input information for condition. + entity slug """ - statement: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + entity's schema version. Used to distinct between different schemas. """ - then: str + name: str """ - Flowchart ID reference for `then` part of the condition. + entity name """ - else_: str = Field(..., alias="else") + isDefault: Optional[bool] = False """ - Flowchart ID reference for `else` part of the condition. + Identifies that entity is defaultable """ - maxOccurrences: int + preProcessors: List[RuntimeItemNameObjectSchema] """ - Maximum occurrence of the condition, usable for loops. + names of the pre-processors for this calculation """ - throwException: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Throw exception on reaching to maximum occurence. + names of the post-processors for this calculation """ - field_id: Optional[str] = Field(None, alias="_id") + monitors: List[RuntimeItemNameObjectSchema] """ - entity identity + names of the monitors for this calculation """ - isDraft: Optional[bool] = None - name: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None """ - name of the unit. e.g. pw_scf + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -400,43 +410,33 @@ class ConditionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug + input: List[WorkflowUnitInputSchema] """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + Input information for condition. """ - entity's schema version. Used to distinct between different schemas. + statement: str """ - isDefault: Optional[bool] = False + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' """ - Identifies that entity is defaultable + then: str """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `then` part of the condition. """ - names of the pre-processors for this calculation + else_: str = Field(..., alias="else") """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `else` part of the condition. """ - names of the post-processors for this calculation + maxOccurrences: int """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + Maximum occurrence of the condition, usable for loops. """ - names of the monitors for this calculation + throwException: Optional[bool] = None """ - results: Optional[List[Union[NameResultSchema, str]]] = None + Throw exception on reaching to maximum occurence. """ - names of the results for this calculation - """ - tags: Optional[List[str]] = None - """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type119(Enum): +class Type128(Enum): assertion = "assertion" @@ -444,31 +444,57 @@ class AssertionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - statement: str + slug: Optional[str] = None """ - The statement to be evaluated + entity slug """ - errorMessage: Optional[str] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - The error message to be displayed if the assertion fails + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: str + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation """ - name of the unit. e.g. pw_scf + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -486,63 +512,55 @@ class AssertionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statement: str """ - entity's schema version. Used to distinct between different schemas. + The statement to be evaluated """ - isDefault: Optional[bool] = False + errorMessage: Optional[str] = None """ - Identifies that entity is defaultable + The error message to be displayed if the assertion fails """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + + +class Type129(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") """ - names of the pre-processors for this calculation + entity identity """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + slug: Optional[str] = None """ - names of the post-processors for this calculation + entity slug """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - names of the monitors for this calculation + entity's schema version. Used to distinct between different schemas. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + name: str """ - names of the results for this calculation + entity name """ - tags: Optional[List[str]] = None + isDefault: Optional[bool] = False """ - entity tags + Identifies that entity is defaultable """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type120(Enum): - execution = "execution" - - -class ApplicationSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - shortName: Optional[str] = None + shortName: str """ The short name of the application. e.g. qe """ - summary: Optional[str] = None + summary: str """ Application's short description. """ - version: Optional[str] = None + version: str """ Application version. e.g. 5.3.5 """ - build: Optional[str] = None + build: str """ Application build. e.g. VTST """ @@ -554,6 +572,9 @@ class ApplicationSchemaBase(BaseModel): """ Whether licensing is present """ + + +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -567,7 +588,7 @@ class ApplicationSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -575,14 +596,23 @@ class ApplicationSchemaBase(BaseModel): """ Identifies that entity is defaultable """ - - -class ExecutableSchema(BaseModel): - name: str + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] """ - The name of the executable. e.g. pw.x + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation """ - applicationId: Optional[List[str]] = None + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -590,6 +620,21 @@ class ExecutableSchema(BaseModel): """ Whether advanced compute options are present """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -603,42 +648,31 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - templateId: Optional[str] = None - templateName: Optional[str] = None - name: Optional[str] = None - """ - name of the resulting input file, if different than template name - """ - - -class FlavorSchema(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -650,13 +684,19 @@ class FlavorSchema(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -670,7 +710,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -678,51 +718,35 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") - input: Any + tags: Optional[List[str]] = None """ - unit input (type to be specified by the application's execution unit) + entity tags """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -741,6 +765,27 @@ class ExecutionUnitSchemaBase(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type130(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -750,23 +795,27 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -774,45 +823,15 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type121(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -831,44 +850,22 @@ class AssignmentUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] """ - entity slug + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the monitors for this calculation - """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operand: str """ - names of the results for this calculation + Name of the global variable. e.g. 'x' """ - tags: Optional[List[str]] = None + value: Union[str, bool, float] """ - entity tags + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None -class Type122(Enum): +class Type131(Enum): processing = "processing" @@ -876,35 +873,57 @@ class ProcessingUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - operation: str + slug: Optional[str] = None """ - Contains information about the operation used. + entity slug """ - operationType: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Contains information about the specific type of the operation used. + entity's schema version. Used to distinct between different schemas. """ - inputData: Any + name: str """ - unit input (type to be specified by the child units) + entity name """ - field_id: Optional[str] = Field(None, alias="_id") + isDefault: Optional[bool] = False """ - entity identity + Identifies that entity is defaultable """ - isDraft: Optional[bool] = None - name: str + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] """ - name of the unit. e.g. pw_scf + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -922,40 +941,18 @@ class ProcessingUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + operation: str """ - names of the monitors for this calculation + Contains information about the operation used. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operationType: str """ - names of the results for this calculation + Contains information about the specific type of the operation used. """ - tags: Optional[List[str]] = None + inputData: Any """ - entity tags + unit input (type to be specified by the child units) """ - statusTrack: Optional[List[StatusTrackItem]] = None class WorkflowSubworkflowUnitSchema( @@ -1196,11 +1193,11 @@ class Subworkflow(BaseModel): """ -class Type123(Enum): +class Type132(Enum): io = "io" -class DataIODatabaseInputOutputSchema24(BaseModel): +class DataIODatabaseInputOutputSchema26(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -1210,7 +1207,7 @@ class DataIODatabaseInputOutputSchema24(BaseModel): """ -class DataIODatabaseInputOutputSchema25(BaseModel): +class DataIODatabaseInputOutputSchema27(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -1224,7 +1221,7 @@ class DataIODatabaseInputOutputSchema25(BaseModel): """ -class ObjectStorageIoSchema12(BaseModel): +class ObjectStorageIoSchema13(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -1251,32 +1248,57 @@ class DataIOUnitSchema11(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema24, DataIODatabaseInputOutputSchema25], - ObjectStorageIoSchema12, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -1294,6 +1316,29 @@ class DataIOUnitSchema11(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema26, DataIODatabaseInputOutputSchema27], + ObjectStorageIoSchema13, + ] + ] + + +class Type133(Enum): + reduce = "reduce" + + +class ReduceUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1303,23 +1348,27 @@ class DataIOUnitSchema11(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1327,41 +1376,15 @@ class DataIOUnitSchema11(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type124(Enum): - reduce = "reduce" - - -class ReduceUnitSchema11(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - mapFlowchartId: str - """ - corresponding map unit flowchart ID - """ - input: List[InputItem] - """ - input information for reduce unit - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1380,6 +1403,28 @@ class ReduceUnitSchema11(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type134(Enum): + condition = "condition" + + +class ConditionUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1389,23 +1434,27 @@ class ReduceUnitSchema11(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1413,28 +1462,40 @@ class ReduceUnitSchema11(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type125(Enum): - condition = "condition" - - -class ConditionUnitSchema11(BaseModel): - model_config = ConfigDict( - extra="allow", - ) + isDraft: Optional[bool] = None type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] """ type of the unit """ - input: List[WorkflowUnitInputSchema] + head: Optional[bool] = None """ - Input information for condition. + Whether this unit is the first one to be executed. """ - statement: str + flowchartId: str """ - Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' """ then: str """ @@ -1452,36 +1513,20 @@ class ConditionUnitSchema11(BaseModel): """ Throw exception on reaching to maximum occurence. """ + + +class Type135(Enum): + assertion = "assertion" + + +class AssertionUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -1491,23 +1536,27 @@ class ConditionUnitSchema11(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1515,41 +1564,15 @@ class ConditionUnitSchema11(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type126(Enum): - assertion = "assertion" - - -class AssertionUnitSchema11(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - statement: str - """ - The statement to be evaluated - """ - errorMessage: Optional[str] = None - """ - The error message to be displayed if the assertion fails - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1568,6 +1591,25 @@ class AssertionUnitSchema11(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type136(Enum): + execution = "execution" + + +class ExecutableSchema15(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1577,43 +1619,31 @@ class AssertionUnitSchema11(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - tags: Optional[List[str]] = None - """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type127(Enum): - execution = "execution" - - -class ExecutableSchema14(BaseModel): - name: str - """ - The name of the executable. e.g. pw.x - """ - applicationId: Optional[List[str]] = None + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -1621,6 +1651,9 @@ class ExecutableSchema14(BaseModel): """ Whether advanced compute options are present """ + + +class FlavorSchema15(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1634,30 +1667,31 @@ class ExecutableSchema14(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class FlavorSchema14(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -1669,13 +1703,19 @@ class FlavorSchema14(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ + + +class ExecutionUnitSchemaBase11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1689,7 +1729,7 @@ class FlavorSchema14(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1697,51 +1737,35 @@ class FlavorSchema14(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitSchemaBase11(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema14] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema14] = Field(None, title="flavor schema") - input: Any + tags: Optional[List[str]] = None """ - unit input (type to be specified by the application's execution unit) + entity tags """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1760,6 +1784,27 @@ class ExecutionUnitSchemaBase11(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema15] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema15] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type137(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1769,23 +1814,27 @@ class ExecutionUnitSchemaBase11(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1793,45 +1842,15 @@ class ExecutionUnitSchemaBase11(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type128(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema11(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1850,6 +1869,33 @@ class AssignmentUnitSchema11(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type138(Enum): + processing = "processing" + + +class ProcessingUnitSchema11(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1859,23 +1905,27 @@ class AssignmentUnitSchema11(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1883,46 +1933,15 @@ class AssignmentUnitSchema11(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None - - -class Type129(Enum): - processing = "processing" - - -class ProcessingUnitSchema11(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - operation: str - """ - Contains information about the operation used. - """ - operationType: str - """ - Contains information about the specific type of the operation used. - """ - inputData: Any - """ - unit input (type to be specified by the child units) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1941,43 +1960,21 @@ class ProcessingUnitSchema11(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + operation: str """ - names of the monitors for this calculation + Contains information about the operation used. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operationType: str """ - names of the results for this calculation + Contains information about the specific type of the operation used. """ - tags: Optional[List[str]] = None + inputData: Any """ - entity tags + unit input (type to be specified by the child units) """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type130(Enum): +class Type139(Enum): map = "map" @@ -2005,48 +2002,10 @@ class MapUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - workflowId: str - """ - Id of workflow to run inside map - """ - input: Input - """ - Input information for map. - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -2056,23 +2015,27 @@ class MapUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2080,33 +2043,15 @@ class MapUnitSchema(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type131(Enum): - subworkflow = "subworkflow" - - -class SubworkflowUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -2125,6 +2070,28 @@ class SubworkflowUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ + + +class Type140(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -2134,23 +2101,27 @@ class SubworkflowUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2158,7 +2129,33 @@ class SubworkflowUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None class WorkflowUnitSchema( diff --git a/src/py/mat3ra/esse/models/property/base.py b/src/py/mat3ra/esse/models/property/base.py deleted file mode 100644 index a68999872..000000000 --- a/src/py/mat3ra/esse/models/property/base.py +++ /dev/null @@ -1,1678 +0,0 @@ -# generated by datamodel-codegen: -# filename: property/base.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import Any, Dict, List, Optional, Union - -from pydantic import BaseModel, Field, RootModel, constr - - -class Name(Enum): - ionization_potential = "ionization_potential" - - -class Units(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class IonizationPotentialElementalPropertySchema(BaseModel): - name: Name - units: Units - value: float - - -class Name31(Enum): - valence_band_offset = "valence_band_offset" - - -class Units19(Enum): - eV_A_2 = "eV/A^2" - - -class ValenceBandOffsetPropertySchema(BaseModel): - name: Name31 - units: Union[Units, Units19] - value: float - - -class Name32(Enum): - zero_point_energy = "zero_point_energy" - - -class Units20(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class Units21(Enum): - eV_A_2 = "eV/A^2" - - -class ZeroPointEnergyPropertySchema(BaseModel): - name: Name32 - units: Union[Units20, Units21] - value: float - - -class Name33(Enum): - pressure = "pressure" - - -class Units22(Enum): - kbar = "kbar" - pa = "pa" - - -class PressurePropertySchema(BaseModel): - name: Name33 - units: Units22 - value: float - - -class Name34(Enum): - reaction_energy_barrier = "reaction_energy_barrier" - - -class Units23(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class Units24(Enum): - eV_A_2 = "eV/A^2" - - -class ReactionEnergyBarrierPropertySchema(BaseModel): - name: Name34 - units: Union[Units23, Units24] - value: float - - -class Name35(Enum): - surface_energy = "surface_energy" - - -class Units25(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class Units26(Enum): - eV_A_2 = "eV/A^2" - - -class SurfaceEnergyPropertySchema(BaseModel): - name: Name35 - units: Union[Units25, Units26] - value: float - - -class Name36(Enum): - total_energy = "total_energy" - - -class Units27(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class Units28(Enum): - eV_A_2 = "eV/A^2" - - -class TotalEnergyPropertySchema(BaseModel): - name: Name36 - units: Union[Units27, Units28] - value: float - - -class Name37(Enum): - total_force = "total_force" - - -class Units29(Enum): - eV_bohr = "eV/bohr" - eV_angstrom = "eV/angstrom" - Ry_a_u_ = "Ry/a.u." - newton = "newton" - kg_m_s_2 = "kg*m/s^2" - eV_a_u_ = "eV/a.u." - - -class TotalForcesPropertySchema(BaseModel): - name: Name37 - units: Units29 - value: float - - -class Name38(Enum): - electron_affinity = "electron_affinity" - - -class Units30(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class Units31(Enum): - eV_A_2 = "eV/A^2" - - -class ElectronAffinityPropertySchema(BaseModel): - name: Name38 - units: Union[Units30, Units31] - value: float - - -class Name39(Enum): - fermi_energy = "fermi_energy" - - -class Units32(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class Units33(Enum): - eV_A_2 = "eV/A^2" - - -class FermiEnergyPropertySchema(BaseModel): - name: Name39 - units: Union[Units32, Units33] - value: float - - -class Name40(Enum): - formation_energy = "formation_energy" - - -class Units34(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class Units35(Enum): - eV_A_2 = "eV/A^2" - - -class FormationEnergyPropertySchema(BaseModel): - name: Name40 - units: Union[Units34, Units35] - value: float - - -class Name41(Enum): - ionization_potential = "ionization_potential" - - -class Units36(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class Units37(Enum): - eV_A_2 = "eV/A^2" - - -class IonizationPotentialScalarPropertySchema(BaseModel): - name: Name41 - units: Union[Units36, Units37] - value: float - - -class ArrayOf3NumberElementsSchema(RootModel[List[float]]): - root: List[float] = Field(..., title="array of 3 number elements schema") - - -class Name42(Enum): - stress_tensor = "stress_tensor" - - -class Units38(Enum): - kbar = "kbar" - pa = "pa" - - -class StressTensorPropertySchema(BaseModel): - value: List[ArrayOf3NumberElementsSchema] = Field(..., max_length=3, min_length=3, title="matrix 3x3 schema") - name: Name42 - units: Units38 - - -class Name43(Enum): - band_gaps = "band_gaps" - - -class Type(Enum): - direct = "direct" - indirect = "indirect" - - -class Units39(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class BandGapSchema(BaseModel): - kpointConduction: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema") - """ - A k-point is a point in reciprocal space of a crystal. - """ - kpointValence: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema") - """ - A k-point is a point in reciprocal space of a crystal. - """ - eigenvalueConduction: Optional[float] = None - """ - eigenvalue at k-point in conduction band - """ - eigenvalueValence: Optional[float] = None - """ - eigenvalue at k-point in valence band - """ - spin: Optional[float] = None - type: Type - units: Optional[Units39] = None - value: float - - -class Eigenvalue(BaseModel): - spin: Optional[float] = None - energies: Optional[List] = None - occupations: Optional[List] = None - - -class Eigenvalue2(BaseModel): - kpoint: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema") - """ - A k-point is a point in reciprocal space of a crystal. - """ - weight: Optional[float] = None - eigenvalues: Optional[List[Eigenvalue]] = None - - -class BandGapsPropertySchema(BaseModel): - name: Name43 - values: List[BandGapSchema] - eigenvalues: Optional[List[Eigenvalue2]] = None - - -class Label(Enum): - kpoints = "kpoints" - - -class Units40(Enum): - crystal = "crystal" - cartesian = "cartesian" - - -class AxisSchema(BaseModel): - label: Label - """ - label of an axis object - """ - units: Optional[Units40] = "crystal" - """ - units for an axis - """ - - -class Label5(Enum): - energy = "energy" - - -class Units41(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class AxisSchema8(BaseModel): - label: Label5 - """ - label of an axis object - """ - units: Optional[Units41] = None - """ - units for an axis - """ - - -class Name44(Enum): - band_structure = "band_structure" - - -class SpinEnum(Enum): - number_0_5 = 0.5 - number__0_5 = -0.5 - - -class BandStructurePropertySchema(BaseModel): - xAxis: AxisSchema = Field(..., title="axis schema") - yAxis: AxisSchema8 = Field(..., title="axis schema") - name: Name44 - spin: List[SpinEnum] - """ - spin of each band - """ - xDataArray: List[Union[float, List[float]]] - """ - array containing values of x Axis - """ - yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") - - -class Label6(Enum): - qpoints = "qpoints" - - -class Units42(Enum): - crystal = "crystal" - cartesian = "cartesian" - - -class AxisSchema9(BaseModel): - label: Label6 - """ - label of an axis object - """ - units: Optional[Units42] = "crystal" - """ - units for an axis - """ - - -class Label7(Enum): - frequency = "frequency" - - -class Units43(Enum): - cm_1 = "cm-1" - THz = "THz" - meV = "meV" - - -class AxisSchema10(BaseModel): - label: Label7 - """ - label of an axis object - """ - units: Optional[Units43] = None - """ - units for an axis - """ - - -class Name45(Enum): - phonon_dispersions = "phonon_dispersions" - - -class PhononBandStructurePropertySchema(BaseModel): - xAxis: AxisSchema9 = Field(..., title="axis schema") - yAxis: AxisSchema10 = Field(..., title="axis schema") - name: Name45 - xDataArray: List[Union[float, List[float]]] - """ - array containing values of x Axis - """ - yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") - - -class Name46(Enum): - temperature_entropy = "temperature_entropy" - - -class ScalarSchema(BaseModel): - name: Optional[Name46] = None - value: float - - -class Name47(Enum): - harris_foulkes = "harris_foulkes" - - -class ScalarSchema5(BaseModel): - name: Optional[Name47] = None - value: float - - -class Name48(Enum): - smearing = "smearing" - - -class ScalarSchema6(BaseModel): - name: Optional[Name48] = None - value: float - - -class Name49(Enum): - one_electron = "one_electron" - - -class ScalarSchema7(BaseModel): - name: Optional[Name49] = None - value: float - - -class Name50(Enum): - hartree = "hartree" - - -class ScalarSchema8(BaseModel): - name: Optional[Name50] = None - value: float - - -class Name51(Enum): - exchange = "exchange" - - -class ScalarSchema9(BaseModel): - name: Optional[Name51] = None - value: float - - -class Name52(Enum): - exchange_correlation = "exchange_correlation" - - -class ScalarSchema10(BaseModel): - name: Optional[Name52] = None - value: float - - -class Name53(Enum): - ewald = "ewald" - - -class ScalarSchema11(BaseModel): - name: Optional[Name53] = None - value: float - - -class Name54(Enum): - alphaZ = "alphaZ" - - -class ScalarSchema12(BaseModel): - name: Optional[Name54] = None - value: float - - -class Name55(Enum): - atomic_energy = "atomic_energy" - - -class ScalarSchema13(BaseModel): - name: Optional[Name55] = None - value: float - - -class Name56(Enum): - eigenvalues = "eigenvalues" - - -class ScalarSchema14(BaseModel): - name: Optional[Name56] = None - value: float - - -class Name57(Enum): - PAW_double_counting_correction_2 = "PAW_double-counting_correction_2" - - -class ScalarSchema15(BaseModel): - name: Optional[Name57] = None - value: float - - -class Name58(Enum): - PAW_double_counting_correction_3 = "PAW_double-counting_correction_3" - - -class ScalarSchema16(BaseModel): - name: Optional[Name58] = None - value: float - - -class Name59(Enum): - hartree_fock = "hartree_fock" - - -class ScalarSchema17(BaseModel): - name: Optional[Name59] = None - value: float - - -class Name60(Enum): - total_energy_contributions = "total_energy_contributions" - - -class Units44(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class TotalEnergyContributionsPropertySchema(BaseModel): - temperatureEntropy: Optional[ScalarSchema] = Field(None, title="scalar schema") - """ - product of temperature and configurational entropy - """ - harris_foulkes: Optional[ScalarSchema5] = Field(None, title="scalar schema") - """ - non self-consitent energy based on an input charge density - """ - smearing: Optional[ScalarSchema6] = Field(None, title="scalar schema") - """ - smearing energy - """ - one_electron: Optional[ScalarSchema7] = Field(None, title="scalar schema") - """ - kinetic + pseudopotential energy - """ - hartree: Optional[ScalarSchema8] = Field(None, title="scalar schema") - """ - energy due to coulomb potential - """ - exchange: Optional[ScalarSchema9] = Field(None, title="scalar schema") - """ - exchange energy - """ - exchange_correlation: Optional[ScalarSchema10] = Field(None, title="scalar schema") - """ - exchange and correlation energy per particle - """ - ewald: Optional[ScalarSchema11] = Field(None, title="scalar schema") - """ - summation of interaction energies at long length scales due to coloumbic interactions - """ - alphaZ: Optional[ScalarSchema12] = Field(None, title="scalar schema") - """ - divergent electrostatic ion interaction in compensating electron gas - """ - atomicEnergy: Optional[ScalarSchema13] = Field(None, title="scalar schema") - """ - kinetic energy of wavefunctions in the atomic limit - """ - eigenvalues: Optional[ScalarSchema14] = Field(None, title="scalar schema") - """ - sum of one electron energies of kinetic, electrostatic, and exchange correlation - """ - PAWDoubleCounting2: Optional[ScalarSchema15] = Field(None, title="scalar schema") - """ - double counting correction 2 - """ - PAWDoubleCounting3: Optional[ScalarSchema16] = Field(None, title="scalar schema") - """ - double counting correction 3 - """ - hartreeFock: Optional[ScalarSchema17] = Field(None, title="scalar schema") - """ - hartree-fock contribution - """ - name: Name60 - units: Optional[Units44] = None - - -class Label8(Enum): - frequency = "frequency" - wavenumber = "wavenumber" - - -class Units45(Enum): - cm_1 = "cm-1" - THz = "THz" - meV = "meV" - - -class AxisSchema11(BaseModel): - label: Label8 - """ - label of an axis object - """ - units: Optional[Units45] = None - """ - units for an axis - """ - - -class Label9(Enum): - Intensity = "Intensity" - Absorbance = "Absorbance" - Absorption_coefficient = "Absorption coefficient" - - -class Units46(Enum): - field_debye_angstrom__2 = "(debye/angstrom)^2" - km_mol = "km/mol" - m_mol = "m/mol" - a_u_ = "a.u." - - -class AxisSchema12(BaseModel): - label: Label9 - """ - label of an axis object - """ - units: Optional[Units46] = None - """ - units for an axis - """ - - -class Name61(Enum): - vibrational_spectrum = "vibrational_spectrum" - - -class VibrationalSpectrumPropertySchema(BaseModel): - xAxis: AxisSchema11 = Field(..., title="axis schema") - yAxis: AxisSchema12 = Field(..., title="axis schema") - name: Name61 - xDataArray: List[Union[float, List[float]]] - """ - array containing values of x Axis - """ - yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") - - -class Label10(Enum): - frequency = "frequency" - - -class Units47(Enum): - cm_1 = "cm-1" - THz = "THz" - meV = "meV" - - -class AxisSchema13(BaseModel): - label: Label10 - """ - label of an axis object - """ - units: Optional[Units47] = None - """ - units for an axis - """ - - -class Label11(Enum): - Phonon_DOS = "Phonon DOS" - - -class Units48(Enum): - states_cm_1 = "states/cm-1" - states_THz = "states/THz" - states_meV = "states/meV" - - -class AxisSchema14(BaseModel): - label: Label11 - """ - label of an axis object - """ - units: Optional[Units48] = None - """ - units for an axis - """ - - -class Name62(Enum): - phonon_dos = "phonon_dos" - - -class PhononDensityOfStatesPropertySchema(BaseModel): - xAxis: AxisSchema13 = Field(..., title="axis schema") - yAxis: AxisSchema14 = Field(..., title="axis schema") - name: Name62 - xDataArray: List[Union[float, List[float]]] - """ - array containing values of x Axis - """ - yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") - - -class Label12(Enum): - z_coordinate = "z coordinate" - - -class AxisSchema15(BaseModel): - label: Label12 - """ - label of an axis object - """ - units: Optional[str] = None - """ - units for an axis - """ - - -class Label13(Enum): - energy = "energy" - - -class Units49(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class AxisSchema16(BaseModel): - label: Label13 - """ - label of an axis object - """ - units: Optional[Units49] = None - """ - units for an axis - """ - - -class Name63(Enum): - potential_profile = "potential_profile" - - -class PotentialProfilePropertySchema(BaseModel): - xAxis: AxisSchema15 = Field(..., title="axis schema") - yAxis: AxisSchema16 = Field(..., title="axis schema") - name: Name63 - xDataArray: List[Union[float, List[float]]] - """ - array containing values of x Axis - """ - yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") - - -class Label14(Enum): - reaction_coordinate = "reaction coordinate" - - -class AxisSchema17(BaseModel): - label: Label14 - """ - label of an axis object - """ - units: Optional[str] = None - """ - units for an axis - """ - - -class Label15(Enum): - energy = "energy" - - -class AxisSchema18(BaseModel): - label: Label15 - """ - label of an axis object - """ - units: Optional[Units49] = None - """ - units for an axis - """ - - -class Name64(Enum): - reaction_energy_profile = "reaction_energy_profile" - - -class ReactionEnergyProfilePropertySchema(BaseModel): - xAxis: AxisSchema17 = Field(..., title="axis schema") - yAxis: AxisSchema18 = Field(..., title="axis schema") - name: Name64 - xDataArray: List[Union[float, List[float]]] - """ - array containing values of x Axis - """ - yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") - - -class AxisSchema19(BaseModel): - label: Label15 - """ - label of an axis object - """ - units: Optional[Units49] = None - """ - units for an axis - """ - - -class Label17(Enum): - density_of_states = "density of states" - - -class Units52(Enum): - states_unitcell = "states/unitcell" - - -class AxisSchema20(BaseModel): - label: Label17 - """ - label of an axis object - """ - units: Optional[Units52] = None - """ - units for an axis - """ - - -class Name65(Enum): - density_of_states = "density_of_states" - - -class Spin(Enum): - number_0_5 = 0.5 - number__0_5 = -0.5 - - -class LegendItem(BaseModel): - element: Optional[str] = None - """ - chemical element - """ - index: Optional[int] = None - """ - index inside sub-array of atoms of the same element type - """ - electronicState: Optional[constr(pattern=r"^([1-5]{1})?(s|p|d|f|g).*$")] = None - """ - electronic character and shell of PDOS, such as `1s` or `s`, or `total` - """ - spin: Optional[Spin] = None - """ - spin of the electronic state - """ - - -class DensityOfStatesPropertySchema(BaseModel): - xAxis: AxisSchema19 = Field(..., title="axis schema") - yAxis: AxisSchema20 = Field(..., title="axis schema") - name: Name65 - legend: List[LegendItem] - xDataArray: List[Union[float, List[float]]] - """ - array containing values of x Axis - """ - yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") - - -class Name66(Enum): - dielectric_tensor = "dielectric_tensor" - - -class Part(Enum): - real = "real" - imaginary = "imaginary" - - -class DielectricTensor(BaseModel): - part: Part - """ - Real or imaginary part of the dielectric tensor component - """ - spin: Optional[float] = None - frequencies: List[float] - """ - Frequencies - """ - components: List[List[float]] - """ - Matrix with 3 columns, e.g. x, y, z - """ - - -class DielectricTensorPropertySchema(BaseModel): - name: Name66 - values: List[DielectricTensor] - - -class Name67(Enum): - file_content = "file_content" - - -class Filetype(Enum): - image = "image" - text = "text" - csv = "csv" - - -class ObjectStorageContainerData(BaseModel): - CONTAINER: Optional[str] = None - """ - Object storage container for the file - """ - NAME: Optional[str] = None - """ - Name of the file inside the object storage bucket - """ - PROVIDER: Optional[str] = None - """ - Object storage provider - """ - REGION: Optional[str] = None - """ - Region for the object container specified in Container - """ - SIZE: Optional[int] = None - """ - Size of the file in bytes - """ - TIMESTAMP: Optional[str] = None - """ - Unix timestamp showing when the file was last modified - """ - - -class FileContentPropertySchema(BaseModel): - name: Name67 - filetype: Filetype - """ - What kind of file this is, e.g. image / text - """ - objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") - pathname: Optional[str] = None - """ - Relative path to the directory that contains the file. - """ - basename: Optional[str] = None - """ - Basename of the file - """ - - -class Name68(Enum): - hubbard_u = "hubbard_u" - - -class Units53(Enum): - eV = "eV" - - -class AtomicDataPerOrbitalNumeric(BaseModel): - id: int - """ - Site number or index in the lattice - """ - atomicSpecies: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") - """ - Example: Co1, Mn - """ - orbitalName: constr(pattern=r"^[1-7][sSpPdDfF]$") - value: float - """ - Value related to a specific property, e.g., Hubbard U, V etc. - """ - - -class HubbardUParametersPropertySchema(BaseModel): - name: Name68 - units: Units53 - values: List[AtomicDataPerOrbitalNumeric] - - -class Name69(Enum): - hubbard_v = "hubbard_v" - - -class AtomicDataPerOrbitalPairNumeric(BaseModel): - id: int - """ - Site number or index in the lattice - """ - id2: int - """ - Site number or index in the lattice of second site - """ - atomicSpecies: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") - """ - Example: Co1, Mn - """ - atomicSpecies2: constr(pattern=r"^[a-zA-Z]{1,2}[\d+]?$") - """ - Example: Co2, O - """ - orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None - orbitalName2: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None - distance: Optional[float] = None - """ - Distance between two sites in Bohr. - """ - value: float - """ - Value related to a specific property, e.g., Hubbard U, V etc. - """ - - -class HubbardVParametersPropertySchema(BaseModel): - name: Name69 - units: Units53 - values: List[AtomicDataPerOrbitalPairNumeric] - - -class Name70(Enum): - hubbard_v_nn = "hubbard_v_nn" - - -class HubbardVNNParametersPropertySchema(BaseModel): - name: Name70 - units: Units53 - values: List[AtomicDataPerOrbitalPairNumeric] - - -class Label18(Enum): - z_coordinate = "z coordinate" - - -class Units56(Enum): - km = "km" - m = "m" - cm = "cm" - mm = "mm" - um = "um" - nm = "nm" - angstrom = "angstrom" - a_u_ = "a.u." - bohr = "bohr" - pm = "pm" - - -class AxisSchema21(BaseModel): - label: Label18 - """ - label of an axis object - """ - units: Optional[Units56] = None - """ - units for an axis - """ - - -class Label19(Enum): - energy = "energy" - - -class Units57(Enum): - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class AxisSchema22(BaseModel): - label: Label19 - """ - label of an axis object - """ - units: Optional[Units57] = None - """ - units for an axis - """ - - -class Name71(Enum): - average_potential_profile = "average_potential_profile" - - -class AveragePotentialProfilePropertySchema(BaseModel): - xAxis: AxisSchema21 = Field(..., title="axis schema") - yAxis: AxisSchema22 = Field(..., title="axis schema") - name: Name71 - xDataArray: List[Union[float, List[float]]] - """ - array containing values of x Axis - """ - yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") - - -class Label20(Enum): - z_coordinate = "z coordinate" - - -class AxisSchema23(BaseModel): - label: Label20 - """ - label of an axis object - """ - units: Optional[str] = None - """ - units for an axis - """ - - -class Label21(Enum): - charge_density = "charge density" - - -class Units58(Enum): - e_A = "e/A" - - -class AxisSchema24(BaseModel): - label: Label21 - """ - label of an axis object - """ - units: Optional[Units58] = None - """ - units for an axis - """ - - -class Name72(Enum): - charge_density_profile = "charge_density_profile" - - -class ChargeDensityProfilePropertySchema(BaseModel): - xAxis: AxisSchema23 = Field(..., title="axis schema") - yAxis: AxisSchema24 = Field(..., title="axis schema") - name: Name72 - xDataArray: List[Union[float, List[float]]] - """ - array containing values of x Axis - """ - yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") - - -class Name73(Enum): - magnetic_moments = "magnetic_moments" - - -class AtomicVectorSchema(BaseModel): - value: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema") - """ - value of this entry - """ - id: int - """ - integer id of this entry - """ - - -class Units59(Enum): - uB = "uB" - - -class MagneticMomentsPropertySchema(BaseModel): - name: Name73 - values: List[AtomicVectorSchema] = Field(..., title="atomic vectors schema") - units: Units59 - - -class Name74(Enum): - atomic_forces = "atomic_forces" - - -class Units60(Enum): - eV_bohr = "eV/bohr" - eV_angstrom = "eV/angstrom" - Ry_a_u_ = "Ry/a.u." - newton = "newton" - kg_m_s_2 = "kg*m/s^2" - eV_a_u_ = "eV/a.u." - - -class AtomicForcesPropertySchema(BaseModel): - name: Name74 - values: List[AtomicVectorSchema] = Field(..., title="atomic vectors schema") - units: Units60 - - -class Name75(Enum): - atomic_constraints = "atomic_constraints" - - -class AtomicConstraintSchema(BaseModel): - value: List[bool] = Field(..., title="vector boolean 3d schema") - """ - value of this entry - """ - id: int - """ - integer id of this entry - """ - - -class AtomicConstraintsPropertySchema(BaseModel): - name: Name75 - values: List[AtomicConstraintSchema] = Field(..., title="atomic constraints schema") - """ - atomic constraints schema - """ - - -class Name76(Enum): - functional_group = "functional_group" - - -class ObjectWithId(BaseModel): - isConnector: Optional[bool] = None - """ - whether atom connects to atoms outside of functional group. - """ - id: int - """ - integer id of this entry - """ - - -class FunctionalGroupPatternSchema(BaseModel): - name: Name76 - atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") - """ - array of objects containing integer id each - """ - SMARTS: Optional[str] = None - """ - SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification - """ - - -class Name77(Enum): - ring = "ring" - - -class RingPatternSchema(BaseModel): - name: Name77 - atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") - """ - array of objects containing integer id each - """ - isAromatic: Optional[bool] = None - - -class Name78(Enum): - special_bond = "special_bond" - - -class SpecialBondPatternSchema(BaseModel): - name: Name78 - atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") - """ - array of objects containing integer id each - """ - - -class Name79(Enum): - convergence_electronic = "convergence_electronic" - - -class Units61(Enum): - eV = "eV" - Ry = "Ry" - hartree = "hartree" - - -class ConvergenceElectronicPropertySchema(BaseModel): - name: Name79 - units: Units61 - data: List[List[float]] - - -class Name80(Enum): - convergence_ionic = "convergence_ionic" - - -class Units62(Enum): - eV = "eV" - - -class Units63(Enum): - eV = "eV" - Ry = "Ry" - hartree = "hartree" - - -class Electronic(BaseModel): - units: Optional[Units63] = None - """ - units for force tolerance - """ - data: Optional[List[float]] = None - - -class Datum(BaseModel): - energy: float - """ - converged electronic energy for this structure (last in `electronic`) - """ - structure: Optional[Dict[str, Any]] = None - """ - TODO: structural information at each step to be here - """ - electronic: Optional[Electronic] = None - """ - data about electronic at this ionic step - """ - - -class ConvergenceIonicPropertySchema(BaseModel): - name: Name80 - tolerance: Optional[Any] = None - """ - for ionic convergence tolerance shows force tolerance - """ - units: Units62 - """ - units for force tolerance - """ - data: List[Datum] - """ - energetic and structural information - """ - - -class Info(BaseModel): - jobId: str - """ - Job's identity - """ - unitId: str - """ - Id of the unit that extracted the result - """ - - -class Type5(Enum): - experiment = "experiment" - - -class ExperimentAuthorSchema(BaseModel): - first: str - middle: Optional[str] = None - last: str - affiliation: Optional[str] = None - - -class ScalarItem(BaseModel): - value: Optional[str] = None - - -class ConditionSchema(BaseModel): - units: Optional[str] = None - """ - condition unit - """ - scalar: Optional[List[ScalarItem]] = None - """ - array of condition values - """ - name: str - """ - human-readable name of the condition - """ - - -class LocationSchema(BaseModel): - latitude: float - """ - location latitude - """ - longitude: float - """ - location longitude - """ - - -class Type6(Enum): - literature = "literature" - - -class PagesSchema(BaseModel): - start: str - end: Optional[str] = None - - -class LiteratureReferenceSchema(BaseModel): - type: Optional[Type6] = None - doi: Optional[str] = None - """ - Digital Object Identifier of the reference. - """ - isbn: Optional[str] = None - """ - International Standard Book Number of the reference. - """ - issn: Optional[str] = None - """ - International Standard Serial Number of the reference. - """ - url: Optional[str] = None - """ - Internet address of the reference. - """ - title: Optional[str] = None - """ - Title of the work. - """ - publisher: Optional[str] = None - """ - Publisher of the work. - """ - journal: Optional[str] = None - """ - Journal in which the work appeared. - """ - volume: Optional[str] = None - """ - Volume of the series in which the work appeared. - """ - year: Optional[str] = None - """ - Year in which the reference was published. - """ - issue: Optional[str] = None - """ - Issue of the collection in which the work appeared. - """ - pages: Optional[PagesSchema] = Field(None, title="pages schema") - """ - Start and end pages of the work. - """ - authors: Optional[List[ExperimentAuthorSchema]] = None - """ - List of authors of the work. - """ - editors: Optional[List[ExperimentAuthorSchema]] = None - """ - List of editors of the work. - """ - reference: Optional[List[Dict[str, Any]]] = None - """ - References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published. - """ - - -class InfoForCharacteristicObtainedByExperiment(BaseModel): - type: Optional[Type5] = None - authors: List[ExperimentAuthorSchema] - """ - experiment authors - """ - title: str - """ - experiment title - """ - method: str - """ - method used in experiment - """ - conditions: List[ConditionSchema] - location: Optional[LocationSchema] = Field(None, title="location schema") - timestamp: float - """ - epoch time. - """ - note: Optional[str] = None - """ - Note about experiment - """ - references: Optional[List[LiteratureReferenceSchema]] = None - """ - references to literature articles - """ - - -class PropertySourceSchema(BaseModel): - type: Optional[str] = None - """ - Type of the material property's source. - """ - url: Optional[str] = None - """ - Internet address of the reference. - """ - info: Union[Info, InfoForCharacteristicObtainedByExperiment] - - -class SystemTag(Enum): - isRefined = "isRefined" - isBest = "isBest" - - -class PropertyBaseSchema(BaseModel): - slug: Optional[str] = None - """ - property slug, e.g. total_energy - """ - group: Optional[str] = None - """ - property group, e.g. qe:dft:gga:pbe - """ - data: Union[ - IonizationPotentialElementalPropertySchema, - ValenceBandOffsetPropertySchema, - ZeroPointEnergyPropertySchema, - PressurePropertySchema, - ReactionEnergyBarrierPropertySchema, - SurfaceEnergyPropertySchema, - TotalEnergyPropertySchema, - TotalForcesPropertySchema, - ElectronAffinityPropertySchema, - FermiEnergyPropertySchema, - FormationEnergyPropertySchema, - IonizationPotentialScalarPropertySchema, - StressTensorPropertySchema, - BandGapsPropertySchema, - BandStructurePropertySchema, - PhononBandStructurePropertySchema, - TotalEnergyContributionsPropertySchema, - VibrationalSpectrumPropertySchema, - PhononDensityOfStatesPropertySchema, - PotentialProfilePropertySchema, - ReactionEnergyProfilePropertySchema, - DensityOfStatesPropertySchema, - DielectricTensorPropertySchema, - FileContentPropertySchema, - HubbardUParametersPropertySchema, - HubbardVParametersPropertySchema, - HubbardVNNParametersPropertySchema, - AveragePotentialProfilePropertySchema, - ChargeDensityProfilePropertySchema, - MagneticMomentsPropertySchema, - AtomicForcesPropertySchema, - AtomicConstraintsPropertySchema, - FunctionalGroupPatternSchema, - RingPatternSchema, - SpecialBondPatternSchema, - ConvergenceElectronicPropertySchema, - ConvergenceIonicPropertySchema, - ] - """ - container of the information, specific to each property - """ - source: PropertySourceSchema = Field(..., title="Property source schema") - exabyteId: Optional[List[str]] = None - """ - Id of the corresponding item in the entity bank that this property is obtained for - """ - precision: Optional[Dict[str, Any]] = None - count: Optional[float] = None - """ - total number of properties among which this property is the best. - """ - systemTags: Optional[List[SystemTag]] = None - """ - property system tags, marks property system characteristics, values refined or best (could be both) - """ - field_id: Optional[str] = Field(None, alias="_id") - """ - entity identity - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ diff --git a/src/py/mat3ra/esse/models/property/base/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py b/src/py/mat3ra/esse/models/property/base/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py deleted file mode 100644 index e964b087d..000000000 --- a/src/py/mat3ra/esse/models/property/base/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +++ /dev/null @@ -1,38 +0,0 @@ -# generated by datamodel-codegen: -# filename: property/base.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Optional, Union - -from pydantic import BaseModel - -from .. import InfoForCharacteristicObtainedByExperiment - - -class Info(BaseModel): - materialId: Optional[str] = None - """ - Material's identity. Used for protoProperties. - """ - jobId: Optional[str] = None - """ - Job's identity - """ - unitId: Optional[str] = None - """ - Id of the unit that extracted the result - """ - - -class Field(BaseModel): - type: Optional[str] = None - """ - Type of the material property's source. - """ - url: Optional[str] = None - """ - Internet address of the reference. - """ - info: Optional[Union[Info, InfoForCharacteristicObtainedByExperiment]] = None diff --git a/src/py/mat3ra/esse/models/property/holder.py b/src/py/mat3ra/esse/models/property/holder.py index 656a21a56..095658205 100644 --- a/src/py/mat3ra/esse/models/property/holder.py +++ b/src/py/mat3ra/esse/models/property/holder.py @@ -1127,7 +1127,28 @@ class Name515(Enum): workflow_pyml_predict = "workflow:pyml_predict" -class Type20(Enum): +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + +class Type24(Enum): io = "io" @@ -1208,74 +1229,14 @@ class ObjectStorageIoSchema(BaseModel): """ -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class DataIOUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema3], - ObjectStorageIoSchema, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -1285,23 +1246,27 @@ class DataIOUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1309,10 +1274,45 @@ class DataIOUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema3], + ObjectStorageIoSchema, + ] + ] -class Type21(Enum): +class Type25(Enum): reduce = "reduce" @@ -1331,85 +1331,85 @@ class ReduceUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - mapFlowchartId: str + slug: Optional[str] = None """ - corresponding map unit flowchart ID + entity slug """ - input: List[InputItem] + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - input information for reduce unit + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: Optional[str] = None + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable """ - status: Optional[Status] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ - Status of the unit. + names of the pre-processors for this calculation """ - head: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Whether this unit is the first one to be executed. + names of the post-processors for this calculation """ - flowchartId: str + monitors: List[RuntimeItemNameObjectSchema] """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + names of the monitors for this calculation """ - next: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] """ - Next unit's flowchartId. If empty, the current unit is the last. + names of the results for this calculation """ - enableRender: Optional[bool] = None + tags: Optional[List[str]] = None """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit + entity tags """ - context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + status: Optional[Status] = None """ - entity slug + Status of the unit. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - entity's schema version. Used to distinct between different schemas. + type of the unit """ - isDefault: Optional[bool] = False + head: Optional[bool] = None """ - Identifies that entity is defaultable + Whether this unit is the first one to be executed. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + flowchartId: str """ - names of the pre-processors for this calculation + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + next: Optional[str] = None """ - names of the post-processors for this calculation + Next unit's flowchartId. If empty, the current unit is the last. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + enableRender: Optional[bool] = None """ - names of the monitors for this calculation + Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ - results: Optional[List[Union[NameResultSchema, str]]] = None + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str """ - names of the results for this calculation + corresponding map unit flowchart ID """ - tags: Optional[List[str]] = None + input: List[InputItem] """ - entity tags + input information for reduce unit """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type22(Enum): +class Type26(Enum): condition = "condition" @@ -1428,47 +1428,57 @@ class ConditionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - input: List[WorkflowUnitInputSchema] + slug: Optional[str] = None """ - Input information for condition. + entity slug """ - statement: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + entity's schema version. Used to distinct between different schemas. """ - then: str + name: str """ - Flowchart ID reference for `then` part of the condition. + entity name """ - else_: str = Field(..., alias="else") + isDefault: Optional[bool] = False """ - Flowchart ID reference for `else` part of the condition. + Identifies that entity is defaultable """ - maxOccurrences: int + preProcessors: List[RuntimeItemNameObjectSchema] """ - Maximum occurrence of the condition, usable for loops. + names of the pre-processors for this calculation """ - throwException: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Throw exception on reaching to maximum occurence. + names of the post-processors for this calculation """ - field_id: Optional[str] = Field(None, alias="_id") + monitors: List[RuntimeItemNameObjectSchema] """ - entity identity + names of the monitors for this calculation """ - isDraft: Optional[bool] = None - name: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None """ - name of the unit. e.g. pw_scf + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -1486,43 +1496,33 @@ class ConditionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + input: List[WorkflowUnitInputSchema] """ - entity slug + Input information for condition. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statement: str """ - entity's schema version. Used to distinct between different schemas. + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' """ - isDefault: Optional[bool] = False + then: str """ - Identifies that entity is defaultable + Flowchart ID reference for `then` part of the condition. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + else_: str = Field(..., alias="else") """ - names of the pre-processors for this calculation + Flowchart ID reference for `else` part of the condition. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + maxOccurrences: int """ - names of the post-processors for this calculation + Maximum occurrence of the condition, usable for loops. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + throwException: Optional[bool] = None """ - names of the monitors for this calculation + Throw exception on reaching to maximum occurence. """ - results: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the results for this calculation - """ - tags: Optional[List[str]] = None - """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type23(Enum): +class Type27(Enum): assertion = "assertion" @@ -1530,31 +1530,57 @@ class AssertionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - statement: str + slug: Optional[str] = None """ - The statement to be evaluated + entity slug """ - errorMessage: Optional[str] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - The error message to be displayed if the assertion fails + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: str + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] """ - name of the unit. e.g. pw_scf + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -1572,63 +1598,55 @@ class AssertionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statement: str """ - entity's schema version. Used to distinct between different schemas. + The statement to be evaluated """ - isDefault: Optional[bool] = False + errorMessage: Optional[str] = None """ - Identifies that entity is defaultable + The error message to be displayed if the assertion fails """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + + +class Type28(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") """ - names of the pre-processors for this calculation + entity identity """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + slug: Optional[str] = None """ - names of the post-processors for this calculation + entity slug """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - names of the monitors for this calculation + entity's schema version. Used to distinct between different schemas. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + name: str """ - names of the results for this calculation + entity name """ - tags: Optional[List[str]] = None + isDefault: Optional[bool] = False """ - entity tags + Identifies that entity is defaultable """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type24(Enum): - execution = "execution" - - -class ApplicationSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - shortName: Optional[str] = None + shortName: str """ The short name of the application. e.g. qe """ - summary: Optional[str] = None + summary: str """ Application's short description. """ - version: Optional[str] = None + version: str """ Application version. e.g. 5.3.5 """ - build: Optional[str] = None + build: str """ Application build. e.g. VTST """ @@ -1640,6 +1658,9 @@ class ApplicationSchemaBase(BaseModel): """ Whether licensing is present """ + + +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1653,7 +1674,7 @@ class ApplicationSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1661,14 +1682,23 @@ class ApplicationSchemaBase(BaseModel): """ Identifies that entity is defaultable """ - - -class ExecutableSchema(BaseModel): - name: str + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] """ - The name of the executable. e.g. pw.x + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation """ - applicationId: Optional[List[str]] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -1676,6 +1706,21 @@ class ExecutableSchema(BaseModel): """ Whether advanced compute options are present """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1689,42 +1734,31 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - templateId: Optional[str] = None - templateName: Optional[str] = None - name: Optional[str] = None - """ - name of the resulting input file, if different than template name - """ - - -class FlavorSchema(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -1736,13 +1770,19 @@ class FlavorSchema(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1756,7 +1796,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -1764,51 +1804,35 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") - input: Any + tags: Optional[List[str]] = None """ - unit input (type to be specified by the application's execution unit) + entity tags """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1827,6 +1851,27 @@ class ExecutionUnitSchemaBase(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type29(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1836,23 +1881,27 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1860,45 +1909,15 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type25(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1917,8 +1936,35 @@ class AssignmentUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type30(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ entity slug """ systemName: Optional[str] = None @@ -1926,23 +1972,27 @@ class AssignmentUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1950,46 +2000,15 @@ class AssignmentUnitSchema(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None - - -class Type26(Enum): - processing = "processing" - - -class ProcessingUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - operation: str - """ - Contains information about the operation used. - """ - operationType: str - """ - Contains information about the specific type of the operation used. - """ - inputData: Any - """ - unit input (type to be specified by the child units) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -2008,40 +2027,18 @@ class ProcessingUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + operation: str """ - names of the monitors for this calculation + Contains information about the operation used. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operationType: str """ - names of the results for this calculation + Contains information about the specific type of the operation used. """ - tags: Optional[List[str]] = None + inputData: Any """ - entity tags + unit input (type to be specified by the child units) """ - statusTrack: Optional[List[StatusTrackItem]] = None class WorkflowSubworkflowUnitSchema( @@ -2282,7 +2279,7 @@ class Subworkflow(BaseModel): """ -class Type27(Enum): +class Type31(Enum): io = "io" @@ -2337,32 +2334,57 @@ class DataIOUnitSchema1(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema4, DataIODatabaseInputOutputSchema5], - ObjectStorageIoSchema1, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. """ - name of the unit. e.g. pw_scf + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -2380,6 +2402,29 @@ class DataIOUnitSchema1(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema4, DataIODatabaseInputOutputSchema5], + ObjectStorageIoSchema1, + ] + ] + + +class Type32(Enum): + reduce = "reduce" + + +class ReduceUnitSchema1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -2389,23 +2434,27 @@ class DataIOUnitSchema1(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2413,41 +2462,15 @@ class DataIOUnitSchema1(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type28(Enum): - reduce = "reduce" - - -class ReduceUnitSchema1(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - mapFlowchartId: str - """ - corresponding map unit flowchart ID - """ - input: List[InputItem] - """ - input information for reduce unit - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -2466,6 +2489,28 @@ class ReduceUnitSchema1(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type33(Enum): + condition = "condition" + + +class ConditionUnitSchema2(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -2475,23 +2520,27 @@ class ReduceUnitSchema1(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2499,21 +2548,33 @@ class ReduceUnitSchema1(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type29(Enum): - condition = "condition" - - -class ConditionUnitSchema2(BaseModel): - model_config = ConfigDict( - extra="allow", - ) + isDraft: Optional[bool] = None type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] """ type of the unit """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None input: List[WorkflowUnitInputSchema] """ Input information for condition. @@ -2538,36 +2599,20 @@ class ConditionUnitSchema2(BaseModel): """ Throw exception on reaching to maximum occurence. """ + + +class Type34(Enum): + assertion = "assertion" + + +class AssertionUnitSchema2(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -2577,23 +2622,27 @@ class ConditionUnitSchema2(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2601,41 +2650,15 @@ class ConditionUnitSchema2(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type30(Enum): - assertion = "assertion" - - -class AssertionUnitSchema2(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - statement: str - """ - The statement to be evaluated - """ - errorMessage: Optional[str] = None - """ - The error message to be displayed if the assertion fails - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -2654,6 +2677,25 @@ class AssertionUnitSchema2(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type35(Enum): + execution = "execution" + + +class ExecutableSchema6(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -2663,43 +2705,31 @@ class AssertionUnitSchema2(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - tags: Optional[List[str]] = None - """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type31(Enum): - execution = "execution" - - -class ExecutableSchema5(BaseModel): - name: str - """ - The name of the executable. e.g. pw.x - """ - applicationId: Optional[List[str]] = None + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -2707,6 +2737,9 @@ class ExecutableSchema5(BaseModel): """ Whether advanced compute options are present """ + + +class FlavorSchema6(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -2720,30 +2753,31 @@ class ExecutableSchema5(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class FlavorSchema5(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -2755,13 +2789,19 @@ class FlavorSchema5(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ + + +class ExecutionUnitSchemaBase2(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -2775,7 +2815,7 @@ class FlavorSchema5(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -2783,51 +2823,35 @@ class FlavorSchema5(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitSchemaBase2(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema5] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema5] = Field(None, title="flavor schema") - input: Any + tags: Optional[List[str]] = None """ - unit input (type to be specified by the application's execution unit) + entity tags """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -2846,6 +2870,27 @@ class ExecutionUnitSchemaBase2(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema6] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema6] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type36(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema2(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -2855,23 +2900,27 @@ class ExecutionUnitSchemaBase2(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2879,45 +2928,15 @@ class ExecutionUnitSchemaBase2(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type32(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema2(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -2936,6 +2955,33 @@ class AssignmentUnitSchema2(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type37(Enum): + processing = "processing" + + +class ProcessingUnitSchema1(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -2945,23 +2991,27 @@ class AssignmentUnitSchema2(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2969,46 +3019,15 @@ class AssignmentUnitSchema2(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None - - -class Type33(Enum): - processing = "processing" - - -class ProcessingUnitSchema1(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - operation: str - """ - Contains information about the operation used. - """ - operationType: str - """ - Contains information about the specific type of the operation used. - """ - inputData: Any - """ - unit input (type to be specified by the child units) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -3027,43 +3046,21 @@ class ProcessingUnitSchema1(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + operation: str """ - names of the monitors for this calculation + Contains information about the operation used. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operationType: str """ - names of the results for this calculation + Contains information about the specific type of the operation used. """ - tags: Optional[List[str]] = None + inputData: Any """ - entity tags + unit input (type to be specified by the child units) """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type34(Enum): +class Type38(Enum): map = "map" @@ -3091,48 +3088,10 @@ class MapUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - workflowId: str - """ - Id of workflow to run inside map - """ - input: Input - """ - Input information for map. - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -3142,23 +3101,27 @@ class MapUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -3166,33 +3129,15 @@ class MapUnitSchema(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type35(Enum): - subworkflow = "subworkflow" - - -class SubworkflowUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -3211,6 +3156,28 @@ class SubworkflowUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ + + +class Type39(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -3220,23 +3187,27 @@ class SubworkflowUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -3244,7 +3215,33 @@ class SubworkflowUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None class WorkflowUnitSchema( diff --git a/src/py/mat3ra/esse/models/property/meta/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py b/src/py/mat3ra/esse/models/property/meta/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py deleted file mode 100644 index e0a9cf12f..000000000 --- a/src/py/mat3ra/esse/models/property/meta/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +++ /dev/null @@ -1,38 +0,0 @@ -# generated by datamodel-codegen: -# filename: property/meta.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Optional, Union - -from pydantic import BaseModel - -from .. import InfoForCharacteristicObtainedByExperiment - - -class Info(BaseModel): - materialId: Optional[str] = None - """ - Material's identity. Used for protoProperties. - """ - jobId: Optional[str] = None - """ - Job's identity - """ - unitId: Optional[str] = None - """ - Id of the unit that extracted the result - """ - - -class Field(BaseModel): - type: Optional[str] = None - """ - Type of the material property's source. - """ - url: Optional[str] = None - """ - Internet address of the reference. - """ - info: Optional[Union[Info, InfoForCharacteristicObtainedByExperiment]] = None diff --git a/src/py/mat3ra/esse/models/property/raw/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py b/src/py/mat3ra/esse/models/property/raw/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py deleted file mode 100644 index 1bab29028..000000000 --- a/src/py/mat3ra/esse/models/property/raw/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +++ /dev/null @@ -1,38 +0,0 @@ -# generated by datamodel-codegen: -# filename: property/raw.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Optional, Union - -from pydantic import BaseModel - -from .. import InfoForCharacteristicObtainedByExperiment - - -class Info(BaseModel): - materialId: Optional[str] = None - """ - Material's identity. Used for protoProperties. - """ - jobId: Optional[str] = None - """ - Job's identity - """ - unitId: Optional[str] = None - """ - Id of the unit that extracted the result - """ - - -class Field(BaseModel): - type: Optional[str] = None - """ - Type of the material property's source. - """ - url: Optional[str] = None - """ - Internet address of the reference. - """ - info: Optional[Union[Info, InfoForCharacteristicObtainedByExperiment]] = None diff --git a/src/py/mat3ra/esse/models/property/source.py b/src/py/mat3ra/esse/models/property/source.py index c3d76233f..4dc7d0719 100644 --- a/src/py/mat3ra/esse/models/property/source.py +++ b/src/py/mat3ra/esse/models/property/source.py @@ -62,7 +62,7 @@ class LocationSchema(BaseModel): """ -class Type74(Enum): +class Type82(Enum): literature = "literature" @@ -72,7 +72,7 @@ class PagesSchema(BaseModel): class LiteratureReferenceSchema(BaseModel): - type: Optional[Type74] = None + type: Optional[Type82] = None doi: Optional[str] = None """ Digital Object Identifier of the reference. diff --git a/src/py/mat3ra/esse/models/property/source/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py b/src/py/mat3ra/esse/models/property/source/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py deleted file mode 100644 index 02bd84de4..000000000 --- a/src/py/mat3ra/esse/models/property/source/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +++ /dev/null @@ -1,38 +0,0 @@ -# generated by datamodel-codegen: -# filename: property/source.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Optional, Union - -from pydantic import BaseModel - -from .. import InfoForCharacteristicObtainedByExperiment - - -class Info(BaseModel): - materialId: Optional[str] = None - """ - Material's identity. Used for protoProperties. - """ - jobId: Optional[str] = None - """ - Job's identity - """ - unitId: Optional[str] = None - """ - Id of the unit that extracted the result - """ - - -class Field(BaseModel): - type: Optional[str] = None - """ - Type of the material property's source. - """ - url: Optional[str] = None - """ - Internet address of the reference. - """ - info: Optional[Union[Info, InfoForCharacteristicObtainedByExperiment]] = None diff --git a/src/py/mat3ra/esse/models/software/application.py b/src/py/mat3ra/esse/models/software/application.py index 28e12dcae..e6b030f83 100644 --- a/src/py/mat3ra/esse/models/software/application.py +++ b/src/py/mat3ra/esse/models/software/application.py @@ -13,48 +13,48 @@ class ApplicationSchemaBase(BaseModel): model_config = ConfigDict( extra="allow", ) - shortName: Optional[str] = None + field_id: Optional[str] = Field(None, alias="_id") """ - The short name of the application. e.g. qe + entity identity """ - summary: Optional[str] = None + slug: Optional[str] = None """ - Application's short description. + entity slug """ - version: Optional[str] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Application version. e.g. 5.3.5 + entity's schema version. Used to distinct between different schemas. """ - build: Optional[str] = None + name: str """ - Application build. e.g. VTST + entity name """ - hasAdvancedComputeOptions: Optional[bool] = None + isDefault: Optional[bool] = False """ - Whether advanced compute options are present + Identifies that entity is defaultable """ - isLicensed: Optional[bool] = None + shortName: str """ - Whether licensing is present + The short name of the application. e.g. qe """ - field_id: Optional[str] = Field(None, alias="_id") + summary: str """ - entity identity + Application's short description. """ - slug: Optional[str] = None + version: str """ - entity slug + Application version. e.g. 5.3.5 """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + build: str """ - entity's schema version. Used to distinct between different schemas. + Application build. e.g. VTST """ - name: Optional[str] = None + hasAdvancedComputeOptions: Optional[bool] = None """ - entity name + Whether advanced compute options are present """ - isDefault: Optional[bool] = False + isLicensed: Optional[bool] = None """ - Identifies that entity is defaultable + Whether licensing is present """ diff --git a/src/py/mat3ra/esse/models/software/application_properties.py b/src/py/mat3ra/esse/models/software/application_properties.py new file mode 100644 index 000000000..1d9d35e4d --- /dev/null +++ b/src/py/mat3ra/esse/models/software/application_properties.py @@ -0,0 +1,36 @@ +# generated by datamodel-codegen: +# filename: software/application_properties.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Optional + +from pydantic import BaseModel + + +class ApplicationPropertiesSchema(BaseModel): + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/src/py/mat3ra/esse/models/software/executable.py b/src/py/mat3ra/esse/models/software/executable.py index d0b4d32ea..ed93a3b54 100644 --- a/src/py/mat3ra/esse/models/software/executable.py +++ b/src/py/mat3ra/esse/models/software/executable.py @@ -4,31 +4,12 @@ from __future__ import annotations -from typing import List, Optional, Union +from typing import List, Optional from pydantic import BaseModel, Field -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - class ExecutableSchema(BaseModel): - name: str - """ - The name of the executable. e.g. pw.x - """ - applicationId: Optional[List[str]] = None - """ - _ids of the application this executable belongs to - """ - hasAdvancedComputeOptions: Optional[bool] = None - """ - Whether advanced compute options are present - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -42,23 +23,35 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[str] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[str] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[str] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[str] """ names of the results for this calculation """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ diff --git a/src/py/mat3ra/esse/models/software/executable_properties.py b/src/py/mat3ra/esse/models/software/executable_properties.py new file mode 100644 index 000000000..241c77ef4 --- /dev/null +++ b/src/py/mat3ra/esse/models/software/executable_properties.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: software/executable_properties.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class ExecutablePropertiesSchema(BaseModel): + name: str + """ + The name of the executable. e.g. pw.x + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ diff --git a/src/py/mat3ra/esse/models/software/flavor.py b/src/py/mat3ra/esse/models/software/flavor.py index 862a4bdb4..f0d338e66 100644 --- a/src/py/mat3ra/esse/models/software/flavor.py +++ b/src/py/mat3ra/esse/models/software/flavor.py @@ -4,7 +4,7 @@ from __future__ import annotations -from typing import List, Optional, Union +from typing import List, Optional from pydantic import BaseModel, ConfigDict, Field @@ -21,33 +21,7 @@ class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): """ -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - class FlavorSchema(BaseModel): - executableId: Optional[str] = None - """ - _id of the executable this flavor belongs to - """ - executableName: Optional[str] = None - """ - name of the executable this flavor belongs to - """ - applicationName: Optional[str] = None - """ - name of the application this flavor belongs to - """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" - ) - supportedApplicationVersions: Optional[List[str]] = None - """ - list of application versions this flavor supports - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -61,7 +35,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -69,19 +43,38 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[str] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[str] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[str] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[str] """ names of the results for this calculation """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ diff --git a/src/py/mat3ra/esse/models/software/flavor_properties.py b/src/py/mat3ra/esse/models/software/flavor_properties.py new file mode 100644 index 000000000..72710d9d2 --- /dev/null +++ b/src/py/mat3ra/esse/models/software/flavor_properties.py @@ -0,0 +1,43 @@ +# generated by datamodel-codegen: +# filename: software/flavor_properties.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorPropertiesSchema(BaseModel): + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ diff --git a/src/py/mat3ra/esse/models/software/template.py b/src/py/mat3ra/esse/models/software/template.py index 568650726..649cb6049 100644 --- a/src/py/mat3ra/esse/models/software/template.py +++ b/src/py/mat3ra/esse/models/software/template.py @@ -9,7 +9,7 @@ from pydantic import BaseModel, Field -class NameResultSchema(BaseModel): +class RuntimeItemNameObjectSchema(BaseModel): name: str """ The name of this item. e.g. scf_accuracy @@ -17,23 +17,6 @@ class NameResultSchema(BaseModel): class TemplateSchema(BaseModel): - applicationName: Optional[str] = None - applicationVersion: Optional[str] = None - executableName: Optional[str] = None - contextProviders: Optional[List[NameResultSchema]] = None - isManuallyChanged: Optional[bool] = None - name: str - """ - Input file name. e.g. pw_scf.in - """ - content: str - """ - Content of the input file. e.g. &CONTROL calculation='scf' ... - """ - rendered: Optional[str] = None - """ - Rendered content of the input file. e.g. &CONTROL calculation='scf' ... - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -47,3 +30,20 @@ class TemplateSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ + applicationName: str + applicationVersion: Optional[str] = None + executableName: str + contextProviders: List[RuntimeItemNameObjectSchema] + isManuallyChanged: Optional[bool] = None + content: str + """ + Content of the input file. e.g. &CONTROL calculation='scf' ... + """ + rendered: Optional[str] = None + """ + Rendered content of the input file. e.g. &CONTROL calculation='scf' ... + """ diff --git a/src/py/mat3ra/esse/models/software/template_properties.py b/src/py/mat3ra/esse/models/software/template_properties.py new file mode 100644 index 000000000..e17be31fe --- /dev/null +++ b/src/py/mat3ra/esse/models/software/template_properties.py @@ -0,0 +1,36 @@ +# generated by datamodel-codegen: +# filename: software/template_properties.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel + + +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class TemplatePropertiesSchema(BaseModel): + applicationName: str + applicationVersion: Optional[str] = None + executableName: str + contextProviders: List[RuntimeItemNameObjectSchema] + isManuallyChanged: Optional[bool] = None + name: str + """ + Input file name. e.g. pw_scf.in + """ + content: str + """ + Content of the input file. e.g. &CONTROL calculation='scf' ... + """ + rendered: Optional[str] = None + """ + Rendered content of the input file. e.g. &CONTROL calculation='scf' ... + """ diff --git a/src/py/mat3ra/esse/models/software_directory/modeling/deepmd.py b/src/py/mat3ra/esse/models/software_directory/modeling/deepmd.py index ba5a8ddbc..b1d797cc3 100644 --- a/src/py/mat3ra/esse/models/software_directory/modeling/deepmd.py +++ b/src/py/mat3ra/esse/models/software_directory/modeling/deepmd.py @@ -32,35 +32,19 @@ class DeePMDAppSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - name: Optional[Name] = None + name: Name """ entity name """ - summary: Optional[Summary] = None + summary: Summary """ Application's short description. """ - version: Optional[Version] = None + version: Version """ Application version. e.g. 5.3.5 """ exec: Optional[Exec] = None - shortName: Optional[str] = None - """ - The short name of the application. e.g. qe - """ - build: Optional[str] = None - """ - Application build. e.g. VTST - """ - hasAdvancedComputeOptions: Optional[bool] = None - """ - Whether advanced compute options are present - """ - isLicensed: Optional[bool] = None - """ - Whether licensing is present - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -78,3 +62,19 @@ class DeePMDAppSchema(BaseModel): """ Identifies that entity is defaultable """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/src/py/mat3ra/esse/models/software_directory/modeling/nwchem.py b/src/py/mat3ra/esse/models/software_directory/modeling/nwchem.py index c2be6c3cd..3ad788b20 100644 --- a/src/py/mat3ra/esse/models/software_directory/modeling/nwchem.py +++ b/src/py/mat3ra/esse/models/software_directory/modeling/nwchem.py @@ -33,35 +33,19 @@ class NWChem(BaseModel): model_config = ConfigDict( extra="allow", ) - name: Optional[Name] = None + name: Name """ entity name """ - summary: Optional[Summary] = None + summary: Summary """ Application's short description. """ - version: Optional[Version] = None + version: Version """ Application version. e.g. 5.3.5 """ exec: Optional[Exec] = None - shortName: Optional[str] = None - """ - The short name of the application. e.g. qe - """ - build: Optional[str] = None - """ - Application build. e.g. VTST - """ - hasAdvancedComputeOptions: Optional[bool] = None - """ - Whether advanced compute options are present - """ - isLicensed: Optional[bool] = None - """ - Whether licensing is present - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -79,3 +63,19 @@ class NWChem(BaseModel): """ Identifies that entity is defaultable """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/src/py/mat3ra/esse/models/software_directory/modeling/unit/execution.py b/src/py/mat3ra/esse/models/software_directory/modeling/unit/execution.py index 5cc064545..fdb7cf70e 100644 --- a/src/py/mat3ra/esse/models/software_directory/modeling/unit/execution.py +++ b/src/py/mat3ra/esse/models/software_directory/modeling/unit/execution.py @@ -10,38 +10,32 @@ from pydantic import BaseModel, ConfigDict, Field +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): execution = "execution" class ApplicationSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - shortName: Optional[str] = None - """ - The short name of the application. e.g. qe - """ - summary: Optional[str] = None - """ - Application's short description. - """ - version: Optional[str] = None - """ - Application version. e.g. 5.3.5 - """ - build: Optional[str] = None - """ - Application build. e.g. VTST - """ - hasAdvancedComputeOptions: Optional[bool] = None - """ - Whether advanced compute options are present - """ - isLicensed: Optional[bool] = None - """ - Whether licensing is present - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -55,7 +49,7 @@ class ApplicationSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -63,28 +57,33 @@ class ApplicationSchemaBase(BaseModel): """ Identifies that entity is defaultable """ - - -class NameResultSchema(BaseModel): - name: str + shortName: str """ - The name of this item. e.g. scf_accuracy + The short name of the application. e.g. qe """ - - -class ExecutableSchema(BaseModel): - name: str + summary: str """ - The name of the executable. e.g. pw.x + Application's short description. """ - applicationId: Optional[List[str]] = None + version: str """ - _ids of the application this executable belongs to + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST """ hasAdvancedComputeOptions: Optional[bool] = None """ Whether advanced compute options are present """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -98,26 +97,38 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[str] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[str] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[str] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[str] """ names of the results for this calculation """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): @@ -133,25 +144,6 @@ class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): class FlavorSchema(BaseModel): - executableId: Optional[str] = None - """ - _id of the executable this flavor belongs to - """ - executableName: Optional[str] = None - """ - name of the executable this flavor belongs to - """ - applicationName: Optional[str] = None - """ - name of the application this flavor belongs to - """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" - ) - supportedApplicationVersions: Optional[List[str]] = None - """ - list of application versions this flavor supports - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -165,7 +157,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -173,22 +165,41 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[str] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[str] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[str] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[str] """ names of the results for this calculation """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ class ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines(BaseModel): @@ -206,70 +217,14 @@ class ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines(BaseModel): """ -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsingEspressoAsExample(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Type - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") - input: List[ - Union[ - ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines, - ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines, - ] - ] = Field(..., title="execution unit input schema") - """ - unit input (type to be specified by the application's execution unit) - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -279,23 +234,27 @@ class ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsingEspressoAsE """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -303,4 +262,42 @@ class ExecutionUnitSchemaForPhysicsBasedSimulationEnginesDefinedUsingEspressoAsE """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: List[ + Union[ + ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines, + ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines, + ] + ] = Field(..., title="execution unit input schema") + """ + unit input (type to be specified by the application's execution unit) + """ diff --git a/src/py/mat3ra/esse/models/software_directory/modeling/vasp.py b/src/py/mat3ra/esse/models/software_directory/modeling/vasp.py index 4d053a925..899383945 100644 --- a/src/py/mat3ra/esse/models/software_directory/modeling/vasp.py +++ b/src/py/mat3ra/esse/models/software_directory/modeling/vasp.py @@ -36,36 +36,20 @@ class ViennaAbInitoSimulationPackage(BaseModel): model_config = ConfigDict( extra="allow", ) - name: Optional[Name] = None + name: Name """ entity name """ - summary: Optional[Summary] = None + summary: Summary """ Application's short description. """ flavor: Optional[Flavor] = None - version: Optional[Version] = None + version: Version """ Application version. e.g. 5.3.5 """ exec: Optional[Exec] = None - shortName: Optional[str] = None - """ - The short name of the application. e.g. qe - """ - build: Optional[str] = None - """ - Application build. e.g. VTST - """ - hasAdvancedComputeOptions: Optional[bool] = None - """ - Whether advanced compute options are present - """ - isLicensed: Optional[bool] = None - """ - Whether licensing is present - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -83,3 +67,19 @@ class ViennaAbInitoSimulationPackage(BaseModel): """ Identifies that entity is defaultable """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/src/py/mat3ra/esse/models/software_directory/scripting/jupyter_lab.py b/src/py/mat3ra/esse/models/software_directory/scripting/jupyter_lab.py index 77a9d5964..038028b1b 100644 --- a/src/py/mat3ra/esse/models/software_directory/scripting/jupyter_lab.py +++ b/src/py/mat3ra/esse/models/software_directory/scripting/jupyter_lab.py @@ -34,36 +34,20 @@ class JupyterLabApplicationSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - name: Optional[Name] = None + name: Name """ entity name """ flavor: Optional[Flavor] = None - summary: Optional[Summary] = None + summary: Summary """ Application's short description. """ - version: Optional[Version] = None + version: Version """ Application version. e.g. 5.3.5 """ exec: Optional[Exec] = None - shortName: Optional[str] = None - """ - The short name of the application. e.g. qe - """ - build: Optional[str] = None - """ - Application build. e.g. VTST - """ - hasAdvancedComputeOptions: Optional[bool] = None - """ - Whether advanced compute options are present - """ - isLicensed: Optional[bool] = None - """ - Whether licensing is present - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -81,3 +65,19 @@ class JupyterLabApplicationSchema(BaseModel): """ Identifies that entity is defaultable """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/src/py/mat3ra/esse/models/software_directory/scripting/python.py b/src/py/mat3ra/esse/models/software_directory/scripting/python.py index ea36ed9eb..cdb63cca4 100644 --- a/src/py/mat3ra/esse/models/software_directory/scripting/python.py +++ b/src/py/mat3ra/esse/models/software_directory/scripting/python.py @@ -36,16 +36,16 @@ class PythonProgramingLanguageSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - name: Optional[Name] = None + name: Name """ entity name """ flavor: Optional[Flavor] = None - summary: Optional[Summary] = None + summary: Summary """ Application's short description. """ - version: Optional[Version] = None + version: Version """ Application version. e.g. 5.3.5 """ @@ -62,22 +62,6 @@ class PythonProgramingLanguageSchema(BaseModel): """ Optional Python dependencies, e.g. amqp==1.4.6 """ - shortName: Optional[str] = None - """ - The short name of the application. e.g. qe - """ - build: Optional[str] = None - """ - Application build. e.g. VTST - """ - hasAdvancedComputeOptions: Optional[bool] = None - """ - Whether advanced compute options are present - """ - isLicensed: Optional[bool] = None - """ - Whether licensing is present - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -95,3 +79,19 @@ class PythonProgramingLanguageSchema(BaseModel): """ Identifies that entity is defaultable """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/src/py/mat3ra/esse/models/software_directory/scripting/shell.py b/src/py/mat3ra/esse/models/software_directory/scripting/shell.py index 73a355653..4cb43b4ec 100644 --- a/src/py/mat3ra/esse/models/software_directory/scripting/shell.py +++ b/src/py/mat3ra/esse/models/software_directory/scripting/shell.py @@ -40,16 +40,16 @@ class ShellScriptingLanguageSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - name: Optional[Name] = None + name: Name """ entity name """ flavor: Optional[Flavor] = None - summary: Optional[Summary] = None + summary: Summary """ Application's short description. """ - version: Optional[Version] = None + version: Version """ Application version. e.g. 5.3.5 """ @@ -62,22 +62,6 @@ class ShellScriptingLanguageSchema(BaseModel): """ Optional environment variables exported before running the Shell script """ - shortName: Optional[str] = None - """ - The short name of the application. e.g. qe - """ - build: Optional[str] = None - """ - Application build. e.g. VTST - """ - hasAdvancedComputeOptions: Optional[bool] = None - """ - Whether advanced compute options are present - """ - isLicensed: Optional[bool] = None - """ - Whether licensing is present - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -95,3 +79,19 @@ class ShellScriptingLanguageSchema(BaseModel): """ Identifies that entity is defaultable """ + shortName: str + """ + The short name of the application. e.g. qe + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ diff --git a/src/py/mat3ra/esse/models/software_directory/scripting/unit/execution.py b/src/py/mat3ra/esse/models/software_directory/scripting/unit/execution.py index 73e6c91c0..3c3a3d060 100644 --- a/src/py/mat3ra/esse/models/software_directory/scripting/unit/execution.py +++ b/src/py/mat3ra/esse/models/software_directory/scripting/unit/execution.py @@ -10,38 +10,32 @@ from pydantic import BaseModel, ConfigDict, Field +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): execution = "execution" class ApplicationSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - shortName: Optional[str] = None - """ - The short name of the application. e.g. qe - """ - summary: Optional[str] = None - """ - Application's short description. - """ - version: Optional[str] = None - """ - Application version. e.g. 5.3.5 - """ - build: Optional[str] = None - """ - Application build. e.g. VTST - """ - hasAdvancedComputeOptions: Optional[bool] = None - """ - Whether advanced compute options are present - """ - isLicensed: Optional[bool] = None - """ - Whether licensing is present - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -55,7 +49,7 @@ class ApplicationSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -63,28 +57,33 @@ class ApplicationSchemaBase(BaseModel): """ Identifies that entity is defaultable """ - - -class NameResultSchema(BaseModel): - name: str + shortName: str """ - The name of this item. e.g. scf_accuracy + The short name of the application. e.g. qe """ - - -class ExecutableSchema(BaseModel): - name: str + summary: str """ - The name of the executable. e.g. pw.x + Application's short description. """ - applicationId: Optional[List[str]] = None + version: str """ - _ids of the application this executable belongs to + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST """ hasAdvancedComputeOptions: Optional[bool] = None """ Whether advanced compute options are present """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -98,26 +97,38 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[str] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[str] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[str] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[str] """ names of the results for this calculation """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): @@ -133,25 +144,6 @@ class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): class FlavorSchema(BaseModel): - executableId: Optional[str] = None - """ - _id of the executable this flavor belongs to - """ - executableName: Optional[str] = None - """ - name of the executable this flavor belongs to - """ - applicationName: Optional[str] = None - """ - name of the application this flavor belongs to - """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" - ) - supportedApplicationVersions: Optional[List[str]] = None - """ - list of application versions this flavor supports - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -165,7 +157,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -173,22 +165,41 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[str] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[str] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[str] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[str] """ names of the results for this calculation """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ class ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines(BaseModel): @@ -206,70 +217,14 @@ class ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines(BaseModel): """ -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class ExecutionUnitSchemaForScriptingBasedApplications(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Type - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") - input: List[ - Union[ - ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines, - ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines, - ] - ] = Field(..., title="execution unit input schema") - """ - unit input (type to be specified by the application's execution unit) - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -279,23 +234,27 @@ class ExecutionUnitSchemaForScriptingBasedApplications(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -303,4 +262,42 @@ class ExecutionUnitSchemaForScriptingBasedApplications(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: List[ + Union[ + ExecutionUnitInputItemSchemaForPhysicsBasedSimulationEngines, + ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines, + ] + ] = Field(..., title="execution unit input schema") + """ + unit input (type to be specified by the application's execution unit) + """ diff --git a/src/py/mat3ra/esse/models/system/name.py b/src/py/mat3ra/esse/models/system/name.py index e55c9b8b5..d96f02b86 100644 --- a/src/py/mat3ra/esse/models/system/name.py +++ b/src/py/mat3ra/esse/models/system/name.py @@ -4,13 +4,11 @@ from __future__ import annotations -from typing import Optional - from pydantic import BaseModel class NameEntitySchema(BaseModel): - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/system/path_entity.py b/src/py/mat3ra/esse/models/system/path_entity.py index 9fe00aaa9..efc5f4c5d 100644 --- a/src/py/mat3ra/esse/models/system/path_entity.py +++ b/src/py/mat3ra/esse/models/system/path_entity.py @@ -10,7 +10,7 @@ class PathEntitySchema(BaseModel): - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/workflow/__init__.py b/src/py/mat3ra/esse/models/workflow/__init__.py index 1e59efca0..abc3d6c9b 100644 --- a/src/py/mat3ra/esse/models/workflow/__init__.py +++ b/src/py/mat3ra/esse/models/workflow/__init__.py @@ -10,6 +10,27 @@ from pydantic import BaseModel, ConfigDict, Field, RootModel, conint +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): io = "io" @@ -54,7 +75,7 @@ class DataIODatabaseInputOutputSchema(BaseModel): """ -class DataIODatabaseInputOutputSchema19(BaseModel): +class DataIODatabaseInputOutputSchema21(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -118,74 +139,14 @@ class ObjectStorageIoSchema(BaseModel): """ -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class DataIOUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema19], - ObjectStorageIoSchema, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -195,23 +156,27 @@ class DataIOUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -219,10 +184,45 @@ class DataIOUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema21], + ObjectStorageIoSchema, + ] + ] -class Type101(Enum): +class Type110(Enum): reduce = "reduce" @@ -241,85 +241,85 @@ class ReduceUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - mapFlowchartId: str + slug: Optional[str] = None """ - corresponding map unit flowchart ID + entity slug """ - input: List[InputItem] + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - input information for reduce unit + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: Optional[str] = None + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable """ - status: Optional[Status] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ - Status of the unit. + names of the pre-processors for this calculation """ - head: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Whether this unit is the first one to be executed. + names of the post-processors for this calculation """ - flowchartId: str + monitors: List[RuntimeItemNameObjectSchema] """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + names of the monitors for this calculation """ - next: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] """ - Next unit's flowchartId. If empty, the current unit is the last. + names of the results for this calculation """ - enableRender: Optional[bool] = None + tags: Optional[List[str]] = None """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit + entity tags """ - context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + status: Optional[Status] = None """ - entity slug + Status of the unit. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - entity's schema version. Used to distinct between different schemas. + type of the unit """ - isDefault: Optional[bool] = False + head: Optional[bool] = None """ - Identifies that entity is defaultable + Whether this unit is the first one to be executed. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + flowchartId: str """ - names of the pre-processors for this calculation + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + next: Optional[str] = None """ - names of the post-processors for this calculation + Next unit's flowchartId. If empty, the current unit is the last. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + enableRender: Optional[bool] = None """ - names of the monitors for this calculation + Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ - results: Optional[List[Union[NameResultSchema, str]]] = None + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str """ - names of the results for this calculation + corresponding map unit flowchart ID """ - tags: Optional[List[str]] = None + input: List[InputItem] """ - entity tags + input information for reduce unit """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type102(Enum): +class Type111(Enum): condition = "condition" @@ -338,47 +338,57 @@ class ConditionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - input: List[WorkflowUnitInputSchema] + slug: Optional[str] = None """ - Input information for condition. + entity slug """ - statement: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + entity's schema version. Used to distinct between different schemas. """ - then: str + name: str """ - Flowchart ID reference for `then` part of the condition. + entity name """ - else_: str = Field(..., alias="else") + isDefault: Optional[bool] = False """ - Flowchart ID reference for `else` part of the condition. + Identifies that entity is defaultable """ - maxOccurrences: int + preProcessors: List[RuntimeItemNameObjectSchema] """ - Maximum occurrence of the condition, usable for loops. + names of the pre-processors for this calculation """ - throwException: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Throw exception on reaching to maximum occurence. + names of the post-processors for this calculation """ - field_id: Optional[str] = Field(None, alias="_id") + monitors: List[RuntimeItemNameObjectSchema] """ - entity identity + names of the monitors for this calculation """ - isDraft: Optional[bool] = None - name: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None """ - name of the unit. e.g. pw_scf + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -396,43 +406,33 @@ class ConditionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug + input: List[WorkflowUnitInputSchema] """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + Input information for condition. """ - entity's schema version. Used to distinct between different schemas. + statement: str """ - isDefault: Optional[bool] = False + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' """ - Identifies that entity is defaultable + then: str """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `then` part of the condition. """ - names of the pre-processors for this calculation + else_: str = Field(..., alias="else") """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `else` part of the condition. """ - names of the post-processors for this calculation + maxOccurrences: int """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + Maximum occurrence of the condition, usable for loops. """ - names of the monitors for this calculation + throwException: Optional[bool] = None """ - results: Optional[List[Union[NameResultSchema, str]]] = None + Throw exception on reaching to maximum occurence. """ - names of the results for this calculation - """ - tags: Optional[List[str]] = None - """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type103(Enum): +class Type112(Enum): assertion = "assertion" @@ -440,31 +440,57 @@ class AssertionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - statement: str + slug: Optional[str] = None """ - The statement to be evaluated + entity slug """ - errorMessage: Optional[str] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - The error message to be displayed if the assertion fails + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: str + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation """ - name of the unit. e.g. pw_scf + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -482,63 +508,55 @@ class AssertionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statement: str """ - entity's schema version. Used to distinct between different schemas. + The statement to be evaluated """ - isDefault: Optional[bool] = False + errorMessage: Optional[str] = None """ - Identifies that entity is defaultable + The error message to be displayed if the assertion fails """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + + +class Type113(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") """ - names of the pre-processors for this calculation + entity identity """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + slug: Optional[str] = None """ - names of the post-processors for this calculation + entity slug """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - names of the monitors for this calculation + entity's schema version. Used to distinct between different schemas. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + name: str """ - names of the results for this calculation + entity name """ - tags: Optional[List[str]] = None + isDefault: Optional[bool] = False """ - entity tags + Identifies that entity is defaultable """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type104(Enum): - execution = "execution" - - -class ApplicationSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - shortName: Optional[str] = None + shortName: str """ The short name of the application. e.g. qe """ - summary: Optional[str] = None + summary: str """ Application's short description. """ - version: Optional[str] = None + version: str """ Application version. e.g. 5.3.5 """ - build: Optional[str] = None + build: str """ Application build. e.g. VTST """ @@ -550,6 +568,9 @@ class ApplicationSchemaBase(BaseModel): """ Whether licensing is present """ + + +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -563,7 +584,7 @@ class ApplicationSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -571,14 +592,23 @@ class ApplicationSchemaBase(BaseModel): """ Identifies that entity is defaultable """ - - -class ExecutableSchema(BaseModel): - name: str + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] """ - The name of the executable. e.g. pw.x + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation """ - applicationId: Optional[List[str]] = None + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -586,6 +616,21 @@ class ExecutableSchema(BaseModel): """ Whether advanced compute options are present """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -599,42 +644,31 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - templateId: Optional[str] = None - templateName: Optional[str] = None - name: Optional[str] = None - """ - name of the resulting input file, if different than template name - """ - - -class FlavorSchema(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -646,13 +680,19 @@ class FlavorSchema(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -666,7 +706,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -674,51 +714,35 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") - input: Any + tags: Optional[List[str]] = None """ - unit input (type to be specified by the application's execution unit) + entity tags """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -737,6 +761,27 @@ class ExecutionUnitSchemaBase(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type114(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -746,23 +791,27 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -770,45 +819,15 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type105(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -827,44 +846,22 @@ class AssignmentUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] """ - entity slug + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the monitors for this calculation - """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operand: str """ - names of the results for this calculation + Name of the global variable. e.g. 'x' """ - tags: Optional[List[str]] = None + value: Union[str, bool, float] """ - entity tags + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None -class Type106(Enum): +class Type115(Enum): processing = "processing" @@ -872,35 +869,57 @@ class ProcessingUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - operation: str + slug: Optional[str] = None """ - Contains information about the operation used. + entity slug """ - operationType: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Contains information about the specific type of the operation used. + entity's schema version. Used to distinct between different schemas. """ - inputData: Any + name: str """ - unit input (type to be specified by the child units) + entity name """ - field_id: Optional[str] = Field(None, alias="_id") + isDefault: Optional[bool] = False """ - entity identity + Identifies that entity is defaultable """ - isDraft: Optional[bool] = None - name: str + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation """ - name of the unit. e.g. pw_scf + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -918,40 +937,18 @@ class ProcessingUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + operation: str """ - names of the monitors for this calculation + Contains information about the operation used. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operationType: str """ - names of the results for this calculation + Contains information about the specific type of the operation used. """ - tags: Optional[List[str]] = None + inputData: Any """ - entity tags + unit input (type to be specified by the child units) """ - statusTrack: Optional[List[StatusTrackItem]] = None class WorkflowSubworkflowUnitSchema( @@ -1192,11 +1189,11 @@ class Subworkflow(BaseModel): """ -class Type107(Enum): +class Type116(Enum): io = "io" -class DataIODatabaseInputOutputSchema20(BaseModel): +class DataIODatabaseInputOutputSchema22(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -1206,7 +1203,7 @@ class DataIODatabaseInputOutputSchema20(BaseModel): """ -class DataIODatabaseInputOutputSchema21(BaseModel): +class DataIODatabaseInputOutputSchema23(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -1220,7 +1217,7 @@ class DataIODatabaseInputOutputSchema21(BaseModel): """ -class ObjectStorageIoSchema10(BaseModel): +class ObjectStorageIoSchema11(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -1247,32 +1244,57 @@ class DataIOUnitSchema9(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema20, DataIODatabaseInputOutputSchema21], - ObjectStorageIoSchema10, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None + slug: Optional[str] = None """ - name of the unit. e.g. pw_scf + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -1290,6 +1312,29 @@ class DataIOUnitSchema9(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema22, DataIODatabaseInputOutputSchema23], + ObjectStorageIoSchema11, + ] + ] + + +class Type117(Enum): + reduce = "reduce" + + +class ReduceUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1299,23 +1344,27 @@ class DataIOUnitSchema9(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1323,41 +1372,15 @@ class DataIOUnitSchema9(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type108(Enum): - reduce = "reduce" - - -class ReduceUnitSchema9(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - mapFlowchartId: str - """ - corresponding map unit flowchart ID - """ - input: List[InputItem] - """ - input information for reduce unit - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1376,6 +1399,28 @@ class ReduceUnitSchema9(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ + + +class Type118(Enum): + condition = "condition" + + +class ConditionUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1385,23 +1430,27 @@ class ReduceUnitSchema9(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1409,21 +1458,33 @@ class ReduceUnitSchema9(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type109(Enum): - condition = "condition" - - -class ConditionUnitSchema9(BaseModel): - model_config = ConfigDict( - extra="allow", - ) + isDraft: Optional[bool] = None type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] """ type of the unit """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None input: List[WorkflowUnitInputSchema] """ Input information for condition. @@ -1448,36 +1509,20 @@ class ConditionUnitSchema9(BaseModel): """ Throw exception on reaching to maximum occurence. """ + + +class Type119(Enum): + assertion = "assertion" + + +class AssertionUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -1487,23 +1532,27 @@ class ConditionUnitSchema9(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1511,41 +1560,15 @@ class ConditionUnitSchema9(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type110(Enum): - assertion = "assertion" - - -class AssertionUnitSchema9(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - statement: str - """ - The statement to be evaluated - """ - errorMessage: Optional[str] = None - """ - The error message to be displayed if the assertion fails - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1564,6 +1587,25 @@ class AssertionUnitSchema9(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ + + +class Type120(Enum): + execution = "execution" + + +class ExecutableSchema13(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1573,43 +1615,31 @@ class AssertionUnitSchema9(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - tags: Optional[List[str]] = None - """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type111(Enum): - execution = "execution" - - -class ExecutableSchema12(BaseModel): - name: str - """ - The name of the executable. e.g. pw.x - """ - applicationId: Optional[List[str]] = None + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -1617,6 +1647,9 @@ class ExecutableSchema12(BaseModel): """ Whether advanced compute options are present """ + + +class FlavorSchema13(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1630,30 +1663,31 @@ class ExecutableSchema12(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class FlavorSchema12(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -1665,97 +1699,23 @@ class FlavorSchema12(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ - field_id: Optional[str] = Field(None, alias="_id") - """ - entity identity - """ - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - name: Optional[str] = None - """ - entity name - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the monitors for this calculation - """ - results: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the results for this calculation - """ class ExecutionUnitSchemaBase9(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema12] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema12] = Field(None, title="flavor schema") - input: Any - """ - unit input (type to be specified by the application's execution unit) - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -1765,23 +1725,27 @@ class ExecutionUnitSchemaBase9(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1789,45 +1753,15 @@ class ExecutionUnitSchemaBase9(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type112(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema9(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") - """ - entity identity - """ - isDraft: Optional[bool] = None - name: str + status: Optional[Status] = None """ - name of the unit. e.g. pw_scf + Status of the unit. """ - status: Optional[Status] = None + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1846,6 +1780,27 @@ class AssignmentUnitSchema9(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema13] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema13] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type121(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1855,23 +1810,27 @@ class AssignmentUnitSchema9(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1879,46 +1838,15 @@ class AssignmentUnitSchema9(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None - - -class Type113(Enum): - processing = "processing" - - -class ProcessingUnitSchema9(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - operation: str - """ - Contains information about the operation used. - """ - operationType: str - """ - Contains information about the specific type of the operation used. - """ - inputData: Any - """ - unit input (type to be specified by the child units) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1937,6 +1865,33 @@ class ProcessingUnitSchema9(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type122(Enum): + processing = "processing" + + +class ProcessingUnitSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1946,23 +1901,27 @@ class ProcessingUnitSchema9(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1970,10 +1929,48 @@ class ProcessingUnitSchema9(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ -class Type114(Enum): +class Type123(Enum): map = "map" @@ -2001,48 +1998,10 @@ class MapUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - workflowId: str - """ - Id of workflow to run inside map - """ - input: Input - """ - Input information for map. - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -2052,23 +2011,27 @@ class MapUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2076,33 +2039,15 @@ class MapUnitSchema(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type115(Enum): - subworkflow = "subworkflow" - - -class SubworkflowUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -2121,6 +2066,28 @@ class SubworkflowUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ + + +class Type124(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -2130,23 +2097,27 @@ class SubworkflowUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -2154,7 +2125,33 @@ class SubworkflowUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None class WorkflowUnitSchema( @@ -2219,7 +2216,7 @@ class WorkflowSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/workflow/base.py b/src/py/mat3ra/esse/models/workflow/base.py index 56acd666f..ff7c391c8 100644 --- a/src/py/mat3ra/esse/models/workflow/base.py +++ b/src/py/mat3ra/esse/models/workflow/base.py @@ -35,7 +35,7 @@ class BaseWorkflowSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ diff --git a/src/py/mat3ra/esse/models/workflow/subworkflow/__init__.py b/src/py/mat3ra/esse/models/workflow/subworkflow/__init__.py index 77675355d..0fecbadf7 100644 --- a/src/py/mat3ra/esse/models/workflow/subworkflow/__init__.py +++ b/src/py/mat3ra/esse/models/workflow/subworkflow/__init__.py @@ -10,6 +10,27 @@ from pydantic import BaseModel, ConfigDict, Field, RootModel, conint +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): io = "io" @@ -54,7 +75,7 @@ class DataIODatabaseInputOutputSchema(BaseModel): """ -class DataIODatabaseInputOutputSchema13(BaseModel): +class DataIODatabaseInputOutputSchema15(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -118,74 +139,14 @@ class ObjectStorageIoSchema(BaseModel): """ -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class DataIOUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema13], - ObjectStorageIoSchema, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -195,23 +156,27 @@ class DataIOUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -219,10 +184,45 @@ class DataIOUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema15], + ObjectStorageIoSchema, + ] + ] -class Type76(Enum): +class Type84(Enum): reduce = "reduce" @@ -241,85 +241,85 @@ class ReduceUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - mapFlowchartId: str + slug: Optional[str] = None """ - corresponding map unit flowchart ID + entity slug """ - input: List[InputItem] + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - input information for reduce unit + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: Optional[str] = None + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable """ - status: Optional[Status] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ - Status of the unit. + names of the pre-processors for this calculation """ - head: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Whether this unit is the first one to be executed. + names of the post-processors for this calculation """ - flowchartId: str + monitors: List[RuntimeItemNameObjectSchema] """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + names of the monitors for this calculation """ - next: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] """ - Next unit's flowchartId. If empty, the current unit is the last. + names of the results for this calculation """ - enableRender: Optional[bool] = None + tags: Optional[List[str]] = None """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit + entity tags """ - context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + status: Optional[Status] = None """ - entity slug + Status of the unit. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - entity's schema version. Used to distinct between different schemas. + type of the unit """ - isDefault: Optional[bool] = False + head: Optional[bool] = None """ - Identifies that entity is defaultable + Whether this unit is the first one to be executed. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + flowchartId: str """ - names of the pre-processors for this calculation + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + next: Optional[str] = None """ - names of the post-processors for this calculation + Next unit's flowchartId. If empty, the current unit is the last. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + enableRender: Optional[bool] = None """ - names of the monitors for this calculation + Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ - results: Optional[List[Union[NameResultSchema, str]]] = None + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str """ - names of the results for this calculation + corresponding map unit flowchart ID """ - tags: Optional[List[str]] = None + input: List[InputItem] """ - entity tags + input information for reduce unit """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type77(Enum): +class Type85(Enum): condition = "condition" @@ -338,47 +338,57 @@ class ConditionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - input: List[WorkflowUnitInputSchema] + slug: Optional[str] = None """ - Input information for condition. + entity slug """ - statement: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + entity's schema version. Used to distinct between different schemas. """ - then: str + name: str """ - Flowchart ID reference for `then` part of the condition. + entity name """ - else_: str = Field(..., alias="else") + isDefault: Optional[bool] = False """ - Flowchart ID reference for `else` part of the condition. + Identifies that entity is defaultable """ - maxOccurrences: int + preProcessors: List[RuntimeItemNameObjectSchema] """ - Maximum occurrence of the condition, usable for loops. + names of the pre-processors for this calculation """ - throwException: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Throw exception on reaching to maximum occurence. + names of the post-processors for this calculation """ - field_id: Optional[str] = Field(None, alias="_id") + monitors: List[RuntimeItemNameObjectSchema] """ - entity identity + names of the monitors for this calculation """ - isDraft: Optional[bool] = None - name: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation """ - name of the unit. e.g. pw_scf + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -396,43 +406,33 @@ class ConditionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. + input: List[WorkflowUnitInputSchema] """ - isDefault: Optional[bool] = False + Input information for condition. """ - Identifies that entity is defaultable + statement: str """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' """ - names of the pre-processors for this calculation + then: str """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `then` part of the condition. """ - names of the post-processors for this calculation + else_: str = Field(..., alias="else") """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `else` part of the condition. """ - names of the monitors for this calculation + maxOccurrences: int """ - results: Optional[List[Union[NameResultSchema, str]]] = None + Maximum occurrence of the condition, usable for loops. """ - names of the results for this calculation + throwException: Optional[bool] = None """ - tags: Optional[List[str]] = None + Throw exception on reaching to maximum occurence. """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type78(Enum): +class Type86(Enum): assertion = "assertion" @@ -440,31 +440,57 @@ class AssertionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - statement: str + slug: Optional[str] = None """ - The statement to be evaluated + entity slug """ - errorMessage: Optional[str] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - The error message to be displayed if the assertion fails + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: str + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation """ - name of the unit. e.g. pw_scf + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -482,63 +508,55 @@ class AssertionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statement: str """ - entity's schema version. Used to distinct between different schemas. + The statement to be evaluated """ - isDefault: Optional[bool] = False + errorMessage: Optional[str] = None """ - Identifies that entity is defaultable + The error message to be displayed if the assertion fails """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + + +class Type87(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") """ - names of the pre-processors for this calculation + entity identity """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + slug: Optional[str] = None """ - names of the post-processors for this calculation + entity slug """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - names of the monitors for this calculation + entity's schema version. Used to distinct between different schemas. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + name: str """ - names of the results for this calculation + entity name """ - tags: Optional[List[str]] = None + isDefault: Optional[bool] = False """ - entity tags + Identifies that entity is defaultable """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type79(Enum): - execution = "execution" - - -class ApplicationSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - shortName: Optional[str] = None + shortName: str """ The short name of the application. e.g. qe """ - summary: Optional[str] = None + summary: str """ Application's short description. """ - version: Optional[str] = None + version: str """ Application version. e.g. 5.3.5 """ - build: Optional[str] = None + build: str """ Application build. e.g. VTST """ @@ -550,6 +568,9 @@ class ApplicationSchemaBase(BaseModel): """ Whether licensing is present """ + + +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -563,7 +584,7 @@ class ApplicationSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -571,14 +592,23 @@ class ApplicationSchemaBase(BaseModel): """ Identifies that entity is defaultable """ - - -class ExecutableSchema(BaseModel): - name: str + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation """ - The name of the executable. e.g. pw.x + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation """ - applicationId: Optional[List[str]] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -586,6 +616,21 @@ class ExecutableSchema(BaseModel): """ Whether advanced compute options are present """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -599,42 +644,31 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - templateId: Optional[str] = None - templateName: Optional[str] = None - name: Optional[str] = None - """ - name of the resulting input file, if different than template name - """ - - -class FlavorSchema(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -646,13 +680,19 @@ class FlavorSchema(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -666,7 +706,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -674,51 +714,35 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") - input: Any + tags: Optional[List[str]] = None """ - unit input (type to be specified by the application's execution unit) + entity tags """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -737,6 +761,27 @@ class ExecutionUnitSchemaBase(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type88(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -746,23 +791,27 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -770,45 +819,15 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type80(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -827,6 +846,33 @@ class AssignmentUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type89(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -836,23 +882,27 @@ class AssignmentUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -860,46 +910,15 @@ class AssignmentUnitSchema(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None - - -class Type81(Enum): - processing = "processing" - - -class ProcessingUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - operation: str - """ - Contains information about the operation used. - """ - operationType: str - """ - Contains information about the specific type of the operation used. - """ - inputData: Any - """ - unit input (type to be specified by the child units) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -918,40 +937,18 @@ class ProcessingUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + operation: str """ - names of the monitors for this calculation + Contains information about the operation used. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operationType: str """ - names of the results for this calculation + Contains information about the specific type of the operation used. """ - tags: Optional[List[str]] = None + inputData: Any """ - entity tags + unit input (type to be specified by the child units) """ - statusTrack: Optional[List[StatusTrackItem]] = None class WorkflowSubworkflowUnitSchema( diff --git a/src/py/mat3ra/esse/models/workflow/subworkflow/unit.py b/src/py/mat3ra/esse/models/workflow/subworkflow/unit.py index 6216b79e4..ae6eb7576 100644 --- a/src/py/mat3ra/esse/models/workflow/subworkflow/unit.py +++ b/src/py/mat3ra/esse/models/workflow/subworkflow/unit.py @@ -10,6 +10,27 @@ from pydantic import BaseModel, ConfigDict, Field, RootModel +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): io = "io" @@ -54,7 +75,7 @@ class DataIODatabaseInputOutputSchema(BaseModel): """ -class DataIODatabaseInputOutputSchema17(BaseModel): +class DataIODatabaseInputOutputSchema19(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -118,74 +139,14 @@ class ObjectStorageIoSchema(BaseModel): """ -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class DataIOUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema17], - ObjectStorageIoSchema, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -195,23 +156,27 @@ class DataIOUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -219,10 +184,45 @@ class DataIOUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema19], + ObjectStorageIoSchema, + ] + ] -class Type93(Enum): +class Type102(Enum): reduce = "reduce" @@ -241,85 +241,85 @@ class ReduceUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - mapFlowchartId: str + slug: Optional[str] = None """ - corresponding map unit flowchart ID + entity slug """ - input: List[InputItem] + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - input information for reduce unit + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: Optional[str] = None + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable """ - status: Optional[Status] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ - Status of the unit. + names of the pre-processors for this calculation """ - head: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Whether this unit is the first one to be executed. + names of the post-processors for this calculation """ - flowchartId: str + monitors: List[RuntimeItemNameObjectSchema] """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + names of the monitors for this calculation """ - next: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] """ - Next unit's flowchartId. If empty, the current unit is the last. + names of the results for this calculation """ - enableRender: Optional[bool] = None + tags: Optional[List[str]] = None """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit + entity tags """ - context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + status: Optional[Status] = None """ - entity slug + Status of the unit. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - entity's schema version. Used to distinct between different schemas. + type of the unit """ - isDefault: Optional[bool] = False + head: Optional[bool] = None """ - Identifies that entity is defaultable + Whether this unit is the first one to be executed. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + flowchartId: str """ - names of the pre-processors for this calculation + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + next: Optional[str] = None """ - names of the post-processors for this calculation + Next unit's flowchartId. If empty, the current unit is the last. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + enableRender: Optional[bool] = None """ - names of the monitors for this calculation + Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ - results: Optional[List[Union[NameResultSchema, str]]] = None + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str """ - names of the results for this calculation + corresponding map unit flowchart ID """ - tags: Optional[List[str]] = None + input: List[InputItem] """ - entity tags + input information for reduce unit """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type94(Enum): +class Type103(Enum): condition = "condition" @@ -338,47 +338,57 @@ class ConditionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - input: List[WorkflowUnitInputSchema] + slug: Optional[str] = None """ - Input information for condition. + entity slug """ - statement: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + entity's schema version. Used to distinct between different schemas. """ - then: str + name: str """ - Flowchart ID reference for `then` part of the condition. + entity name """ - else_: str = Field(..., alias="else") + isDefault: Optional[bool] = False """ - Flowchart ID reference for `else` part of the condition. + Identifies that entity is defaultable """ - maxOccurrences: int + preProcessors: List[RuntimeItemNameObjectSchema] """ - Maximum occurrence of the condition, usable for loops. + names of the pre-processors for this calculation """ - throwException: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Throw exception on reaching to maximum occurence. + names of the post-processors for this calculation """ - field_id: Optional[str] = Field(None, alias="_id") + monitors: List[RuntimeItemNameObjectSchema] """ - entity identity + names of the monitors for this calculation """ - isDraft: Optional[bool] = None - name: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation """ - name of the unit. e.g. pw_scf + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -396,43 +406,33 @@ class ConditionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. + input: List[WorkflowUnitInputSchema] """ - isDefault: Optional[bool] = False + Input information for condition. """ - Identifies that entity is defaultable + statement: str """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' """ - names of the pre-processors for this calculation + then: str """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `then` part of the condition. """ - names of the post-processors for this calculation + else_: str = Field(..., alias="else") """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `else` part of the condition. """ - names of the monitors for this calculation + maxOccurrences: int """ - results: Optional[List[Union[NameResultSchema, str]]] = None + Maximum occurrence of the condition, usable for loops. """ - names of the results for this calculation + throwException: Optional[bool] = None """ - tags: Optional[List[str]] = None + Throw exception on reaching to maximum occurence. """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type95(Enum): +class Type104(Enum): assertion = "assertion" @@ -440,31 +440,57 @@ class AssertionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - statement: str + slug: Optional[str] = None """ - The statement to be evaluated + entity slug """ - errorMessage: Optional[str] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - The error message to be displayed if the assertion fails + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: str + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation """ - name of the unit. e.g. pw_scf + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -482,63 +508,55 @@ class AssertionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statement: str """ - entity's schema version. Used to distinct between different schemas. + The statement to be evaluated """ - isDefault: Optional[bool] = False + errorMessage: Optional[str] = None """ - Identifies that entity is defaultable + The error message to be displayed if the assertion fails """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + + +class Type105(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") """ - names of the pre-processors for this calculation + entity identity """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + slug: Optional[str] = None """ - names of the post-processors for this calculation + entity slug """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - names of the monitors for this calculation + entity's schema version. Used to distinct between different schemas. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + name: str """ - names of the results for this calculation + entity name """ - tags: Optional[List[str]] = None + isDefault: Optional[bool] = False """ - entity tags + Identifies that entity is defaultable """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type96(Enum): - execution = "execution" - - -class ApplicationSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - shortName: Optional[str] = None + shortName: str """ The short name of the application. e.g. qe """ - summary: Optional[str] = None + summary: str """ Application's short description. """ - version: Optional[str] = None + version: str """ Application version. e.g. 5.3.5 """ - build: Optional[str] = None + build: str """ Application build. e.g. VTST """ @@ -550,6 +568,9 @@ class ApplicationSchemaBase(BaseModel): """ Whether licensing is present """ + + +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -563,7 +584,7 @@ class ApplicationSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -571,14 +592,23 @@ class ApplicationSchemaBase(BaseModel): """ Identifies that entity is defaultable """ - - -class ExecutableSchema(BaseModel): - name: str + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation """ - The name of the executable. e.g. pw.x + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation """ - applicationId: Optional[List[str]] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -586,6 +616,21 @@ class ExecutableSchema(BaseModel): """ Whether advanced compute options are present """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -599,42 +644,31 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - templateId: Optional[str] = None - templateName: Optional[str] = None - name: Optional[str] = None - """ - name of the resulting input file, if different than template name - """ - - -class FlavorSchema(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -646,13 +680,19 @@ class FlavorSchema(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -666,7 +706,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -674,51 +714,35 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") - input: Any + tags: Optional[List[str]] = None """ - unit input (type to be specified by the application's execution unit) + entity tags """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -737,6 +761,27 @@ class ExecutionUnitSchemaBase(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type106(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -746,23 +791,27 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -770,45 +819,15 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type97(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -827,6 +846,33 @@ class AssignmentUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type107(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -836,23 +882,27 @@ class AssignmentUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -860,46 +910,15 @@ class AssignmentUnitSchema(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None - - -class Type98(Enum): - processing = "processing" - - -class ProcessingUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - operation: str - """ - Contains information about the operation used. - """ - operationType: str - """ - Contains information about the specific type of the operation used. - """ - inputData: Any - """ - unit input (type to be specified by the child units) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -918,40 +937,18 @@ class ProcessingUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + operation: str """ - names of the monitors for this calculation + Contains information about the operation used. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operationType: str """ - names of the results for this calculation + Contains information about the specific type of the operation used. """ - tags: Optional[List[str]] = None + inputData: Any """ - entity tags + unit input (type to be specified by the child units) """ - statusTrack: Optional[List[StatusTrackItem]] = None class ESSE( diff --git a/src/py/mat3ra/esse/models/workflow/unit/__init__.py b/src/py/mat3ra/esse/models/workflow/unit/__init__.py index 6915e4dc2..09fdf1535 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/__init__.py +++ b/src/py/mat3ra/esse/models/workflow/unit/__init__.py @@ -10,6 +10,27 @@ from pydantic import BaseModel, ConfigDict, Field, RootModel +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): io = "io" @@ -54,7 +75,7 @@ class DataIODatabaseInputOutputSchema(BaseModel): """ -class DataIODatabaseInputOutputSchema15(BaseModel): +class DataIODatabaseInputOutputSchema17(BaseModel): model_config = ConfigDict( extra="allow", ) @@ -118,74 +139,14 @@ class ObjectStorageIoSchema(BaseModel): """ -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class DataIOUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema15], - ObjectStorageIoSchema, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -195,23 +156,27 @@ class DataIOUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -219,10 +184,45 @@ class DataIOUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema17], + ObjectStorageIoSchema, + ] + ] -class Type84(Enum): +class Type93(Enum): reduce = "reduce" @@ -241,85 +241,85 @@ class ReduceUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - mapFlowchartId: str + slug: Optional[str] = None """ - corresponding map unit flowchart ID + entity slug """ - input: List[InputItem] + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - input information for reduce unit + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: Optional[str] = None + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable """ - status: Optional[Status] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ - Status of the unit. + names of the pre-processors for this calculation """ - head: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Whether this unit is the first one to be executed. + names of the post-processors for this calculation """ - flowchartId: str + monitors: List[RuntimeItemNameObjectSchema] """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + names of the monitors for this calculation """ - next: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] """ - Next unit's flowchartId. If empty, the current unit is the last. + names of the results for this calculation """ - enableRender: Optional[bool] = None + tags: Optional[List[str]] = None """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit + entity tags """ - context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + status: Optional[Status] = None """ - entity slug + Status of the unit. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["1#-datamodel-code-generator-#-object-#-special-#"] """ - entity's schema version. Used to distinct between different schemas. + type of the unit """ - isDefault: Optional[bool] = False + head: Optional[bool] = None """ - Identifies that entity is defaultable + Whether this unit is the first one to be executed. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + flowchartId: str """ - names of the pre-processors for this calculation + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + next: Optional[str] = None """ - names of the post-processors for this calculation + Next unit's flowchartId. If empty, the current unit is the last. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + enableRender: Optional[bool] = None """ - names of the monitors for this calculation + Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ - results: Optional[List[Union[NameResultSchema, str]]] = None + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str """ - names of the results for this calculation + corresponding map unit flowchart ID """ - tags: Optional[List[str]] = None + input: List[InputItem] """ - entity tags + input information for reduce unit """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type85(Enum): +class Type94(Enum): condition = "condition" @@ -338,47 +338,57 @@ class ConditionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - input: List[WorkflowUnitInputSchema] + slug: Optional[str] = None """ - Input information for condition. + entity slug """ - statement: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + entity's schema version. Used to distinct between different schemas. """ - then: str + name: str """ - Flowchart ID reference for `then` part of the condition. + entity name """ - else_: str = Field(..., alias="else") + isDefault: Optional[bool] = False """ - Flowchart ID reference for `else` part of the condition. + Identifies that entity is defaultable """ - maxOccurrences: int + preProcessors: List[RuntimeItemNameObjectSchema] """ - Maximum occurrence of the condition, usable for loops. + names of the pre-processors for this calculation """ - throwException: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Throw exception on reaching to maximum occurence. + names of the post-processors for this calculation """ - field_id: Optional[str] = Field(None, alias="_id") + monitors: List[RuntimeItemNameObjectSchema] """ - entity identity + names of the monitors for this calculation """ - isDraft: Optional[bool] = None - name: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation """ - name of the unit. e.g. pw_scf + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -396,43 +406,33 @@ class ConditionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. + input: List[WorkflowUnitInputSchema] """ - isDefault: Optional[bool] = False + Input information for condition. """ - Identifies that entity is defaultable + statement: str """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' """ - names of the pre-processors for this calculation + then: str """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `then` part of the condition. """ - names of the post-processors for this calculation + else_: str = Field(..., alias="else") """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + Flowchart ID reference for `else` part of the condition. """ - names of the monitors for this calculation + maxOccurrences: int """ - results: Optional[List[Union[NameResultSchema, str]]] = None + Maximum occurrence of the condition, usable for loops. """ - names of the results for this calculation + throwException: Optional[bool] = None """ - tags: Optional[List[str]] = None + Throw exception on reaching to maximum occurence. """ - entity tags - """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type86(Enum): +class Type95(Enum): assertion = "assertion" @@ -440,31 +440,57 @@ class AssertionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - statement: str + slug: Optional[str] = None """ - The statement to be evaluated + entity slug """ - errorMessage: Optional[str] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - The error message to be displayed if the assertion fails + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: str + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] """ - name of the unit. e.g. pw_scf + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["3#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -482,63 +508,55 @@ class AssertionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statement: str """ - entity's schema version. Used to distinct between different schemas. + The statement to be evaluated """ - isDefault: Optional[bool] = False + errorMessage: Optional[str] = None """ - Identifies that entity is defaultable + The error message to be displayed if the assertion fails """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + + +class Type96(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") """ - names of the pre-processors for this calculation + entity identity """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + slug: Optional[str] = None """ - names of the post-processors for this calculation + entity slug """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - names of the monitors for this calculation + entity's schema version. Used to distinct between different schemas. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + name: str """ - names of the results for this calculation + entity name """ - tags: Optional[List[str]] = None + isDefault: Optional[bool] = False """ - entity tags + Identifies that entity is defaultable """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type87(Enum): - execution = "execution" - - -class ApplicationSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - shortName: Optional[str] = None + shortName: str """ The short name of the application. e.g. qe """ - summary: Optional[str] = None + summary: str """ Application's short description. """ - version: Optional[str] = None + version: str """ Application version. e.g. 5.3.5 """ - build: Optional[str] = None + build: str """ Application build. e.g. VTST """ @@ -550,6 +568,9 @@ class ApplicationSchemaBase(BaseModel): """ Whether licensing is present """ + + +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -563,7 +584,7 @@ class ApplicationSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -571,14 +592,23 @@ class ApplicationSchemaBase(BaseModel): """ Identifies that entity is defaultable """ - - -class ExecutableSchema(BaseModel): - name: str + preProcessors: List[RuntimeItemNameObjectSchema] """ - The name of the executable. e.g. pw.x + names of the pre-processors for this calculation """ - applicationId: Optional[List[str]] = None + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -586,6 +616,21 @@ class ExecutableSchema(BaseModel): """ Whether advanced compute options are present """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -599,42 +644,31 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - templateId: Optional[str] = None - templateName: Optional[str] = None - name: Optional[str] = None - """ - name of the resulting input file, if different than template name - """ - - -class FlavorSchema(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -646,13 +680,19 @@ class FlavorSchema(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -666,7 +706,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -674,51 +714,35 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class ExecutionUnitSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") - input: Any + tags: Optional[List[str]] = None """ - unit input (type to be specified by the application's execution unit) + entity tags """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["4#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -737,6 +761,27 @@ class ExecutionUnitSchemaBase(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ + + +class Type97(Enum): + assignment = "assignment" + + +class AssignmentUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -746,23 +791,27 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -770,45 +819,15 @@ class ExecutionUnitSchemaBase(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type88(Enum): - assignment = "assignment" - - -class AssignmentUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - input: List[WorkflowUnitInputSchema] - """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. - """ - operand: str - """ - Name of the global variable. e.g. 'x' - """ - value: Union[str, bool, float] - """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["5#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -827,6 +846,33 @@ class AssignmentUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + scope: Optional[str] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ + + +class Type98(Enum): + processing = "processing" + + +class ProcessingUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -836,23 +882,27 @@ class AssignmentUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -860,46 +910,15 @@ class AssignmentUnitSchema(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None - - -class Type89(Enum): - processing = "processing" - - -class ProcessingUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - operation: str - """ - Contains information about the operation used. - """ - operationType: str - """ - Contains information about the specific type of the operation used. - """ - inputData: Any - """ - unit input (type to be specified by the child units) - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["6#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -918,43 +937,21 @@ class ProcessingUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + operation: str """ - names of the monitors for this calculation + Contains information about the operation used. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operationType: str """ - names of the results for this calculation + Contains information about the specific type of the operation used. """ - tags: Optional[List[str]] = None + inputData: Any """ - entity tags + unit input (type to be specified by the child units) """ - statusTrack: Optional[List[StatusTrackItem]] = None -class Type90(Enum): +class Type99(Enum): map = "map" @@ -982,48 +979,10 @@ class MapUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - workflowId: str - """ - Id of workflow to run inside map - """ - input: Input - """ - Input information for map. - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -1033,23 +992,27 @@ class MapUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1057,33 +1020,15 @@ class MapUnitSchema(BaseModel): """ entity tags """ - statusTrack: Optional[List[StatusTrackItem]] = None - - -class Type91(Enum): - subworkflow = "subworkflow" - - -class SubworkflowUnitSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] - """ - type of the unit - """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: str - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Literal["7#-datamodel-code-generator-#-object-#-special-#"] """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -1102,6 +1047,28 @@ class SubworkflowUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ + + +class Type100(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ slug: Optional[str] = None """ entity slug @@ -1111,23 +1078,27 @@ class SubworkflowUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -1135,7 +1106,33 @@ class SubworkflowUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Literal["8#-datamodel-code-generator-#-object-#-special-#"] + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None class ESSE( diff --git a/src/py/mat3ra/esse/models/workflow/unit/assertion.py b/src/py/mat3ra/esse/models/workflow/unit/assertion.py index e4cd3d824..e0258c0bc 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/assertion.py +++ b/src/py/mat3ra/esse/models/workflow/unit/assertion.py @@ -5,13 +5,16 @@ from __future__ import annotations from enum import Enum -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional from pydantic import BaseModel, ConfigDict, Field -class Type(Enum): - assertion = "assertion" +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ class Status(Enum): @@ -22,96 +25,93 @@ class Status(Enum): finished = "finished" -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - class StatusTrackItem(BaseModel): trackedAt: float status: str repetition: Optional[float] = None +class Type(Enum): + assertion = "assertion" + + class AssertionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Type + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - statement: str + slug: Optional[str] = None """ - The statement to be evaluated + entity slug """ - errorMessage: Optional[str] = None + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - The error message to be displayed if the assertion fails + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: str + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable """ - status: Optional[Status] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ - Status of the unit. + names of the pre-processors for this calculation """ - head: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Whether this unit is the first one to be executed. + names of the post-processors for this calculation """ - flowchartId: str + monitors: List[RuntimeItemNameObjectSchema] """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + names of the monitors for this calculation """ - next: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] """ - Next unit's flowchartId. If empty, the current unit is the last. + names of the results for this calculation """ - enableRender: Optional[bool] = None + tags: Optional[List[str]] = None """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit + entity tags """ - context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + status: Optional[Status] = None """ - entity slug + Status of the unit. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type """ - entity's schema version. Used to distinct between different schemas. + type of the unit """ - isDefault: Optional[bool] = False + head: Optional[bool] = None """ - Identifies that entity is defaultable + Whether this unit is the first one to be executed. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + flowchartId: str """ - names of the pre-processors for this calculation + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + next: Optional[str] = None """ - names of the post-processors for this calculation + Next unit's flowchartId. If empty, the current unit is the last. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + enableRender: Optional[bool] = None """ - names of the monitors for this calculation + Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ - results: Optional[List[Union[NameResultSchema, str]]] = None + context: Optional[Dict[str, Any]] = None + statement: str """ - names of the results for this calculation + The statement to be evaluated """ - tags: Optional[List[str]] = None + errorMessage: Optional[str] = None """ - entity tags + The error message to be displayed if the assertion fails """ - statusTrack: Optional[List[StatusTrackItem]] = None diff --git a/src/py/mat3ra/esse/models/workflow/unit/assignment.py b/src/py/mat3ra/esse/models/workflow/unit/assignment.py index 32a0dbe54..5efb14a77 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/assignment.py +++ b/src/py/mat3ra/esse/models/workflow/unit/assignment.py @@ -10,18 +10,10 @@ from pydantic import BaseModel, ConfigDict, Field -class Type(Enum): - assignment = "assignment" - - -class WorkflowUnitInputSchema(BaseModel): - scope: str - """ - Scope of the variable. e.g. 'global' or 'flowchart_id_2' - """ +class RuntimeItemNameObjectSchema(BaseModel): name: str """ - Name of the input data. e.g. total_energy + The name of this item. e.g. scf_accuracy """ @@ -33,52 +25,82 @@ class Status(Enum): finished = "finished" -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - class StatusTrackItem(BaseModel): trackedAt: float status: str repetition: Optional[float] = None +class Type(Enum): + assignment = "assignment" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + class AssignmentUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Type + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - input: Optional[List[WorkflowUnitInputSchema]] = None + slug: Optional[str] = None """ - Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + entity slug """ - operand: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Name of the global variable. e.g. 'x' + entity's schema version. Used to distinct between different schemas. """ - value: Union[str, bool, float] + name: str """ - Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + entity name """ - field_id: Optional[str] = Field(None, alias="_id") + isDefault: Optional[bool] = False """ - entity identity + Identifies that entity is defaultable """ - isDraft: Optional[bool] = None - name: str + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] """ - name of the unit. e.g. pw_scf + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -96,38 +118,16 @@ class AssignmentUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + scope: Optional[str] = None + input: Optional[List[WorkflowUnitInputSchema]] = None """ - names of the monitors for this calculation + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operand: str """ - names of the results for this calculation + Name of the global variable. e.g. 'x' """ - tags: Optional[List[str]] = None + value: Union[str, bool, float] """ - entity tags + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) """ - statusTrack: Optional[List[StatusTrackItem]] = None - scope: Optional[str] = None diff --git a/src/py/mat3ra/esse/models/workflow/unit/base.py b/src/py/mat3ra/esse/models/workflow/unit/base.py index 0c03259b5..20acaac7a 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/base.py +++ b/src/py/mat3ra/esse/models/workflow/unit/base.py @@ -5,11 +5,18 @@ from __future__ import annotations from enum import Enum -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional from pydantic import BaseModel, ConfigDict, Field +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + class Status(Enum): idle = "idle" active = "active" @@ -18,13 +25,6 @@ class Status(Enum): finished = "finished" -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - class StatusTrackItem(BaseModel): trackedAt: float status: str @@ -39,36 +39,6 @@ class WorkflowBaseUnitSchema(BaseModel): """ entity identity """ - isDraft: Optional[bool] = None - type: str - """ - type of the unit - """ - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -78,23 +48,27 @@ class WorkflowBaseUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -102,4 +76,30 @@ class WorkflowBaseUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: str + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None diff --git a/src/py/mat3ra/esse/models/workflow/unit/condition.py b/src/py/mat3ra/esse/models/workflow/unit/condition.py index 8777205cd..50463d988 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/condition.py +++ b/src/py/mat3ra/esse/models/workflow/unit/condition.py @@ -5,23 +5,15 @@ from __future__ import annotations from enum import Enum -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional from pydantic import BaseModel, ConfigDict, Field -class Type(Enum): - condition = "condition" - - -class WorkflowUnitInputSchema(BaseModel): - scope: str - """ - Scope of the variable. e.g. 'global' or 'flowchart_id_2' - """ +class RuntimeItemNameObjectSchema(BaseModel): name: str """ - Name of the input data. e.g. total_energy + The name of this item. e.g. scf_accuracy """ @@ -33,64 +25,82 @@ class Status(Enum): finished = "finished" -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - class StatusTrackItem(BaseModel): trackedAt: float status: str repetition: Optional[float] = None +class Type(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + class ConditionUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Type + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - input: List[WorkflowUnitInputSchema] + slug: Optional[str] = None """ - Input information for condition. + entity slug """ - statement: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + entity's schema version. Used to distinct between different schemas. """ - then: str + name: str """ - Flowchart ID reference for `then` part of the condition. + entity name """ - else_: str = Field(..., alias="else") + isDefault: Optional[bool] = False """ - Flowchart ID reference for `else` part of the condition. + Identifies that entity is defaultable """ - maxOccurrences: int + preProcessors: List[RuntimeItemNameObjectSchema] """ - Maximum occurrence of the condition, usable for loops. + names of the pre-processors for this calculation """ - throwException: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Throw exception on reaching to maximum occurence. + names of the post-processors for this calculation """ - field_id: Optional[str] = Field(None, alias="_id") + monitors: List[RuntimeItemNameObjectSchema] """ - entity identity + names of the monitors for this calculation """ - isDraft: Optional[bool] = None - name: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None """ - name of the unit. e.g. pw_scf + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -108,37 +118,27 @@ class ConditionUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False + input: List[WorkflowUnitInputSchema] """ - Identifies that entity is defaultable + Input information for condition. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + statement: str """ - names of the pre-processors for this calculation + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + then: str """ - names of the post-processors for this calculation + Flowchart ID reference for `then` part of the condition. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + else_: str = Field(..., alias="else") """ - names of the monitors for this calculation + Flowchart ID reference for `else` part of the condition. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + maxOccurrences: int """ - names of the results for this calculation + Maximum occurrence of the condition, usable for loops. """ - tags: Optional[List[str]] = None + throwException: Optional[bool] = None """ - entity tags + Throw exception on reaching to maximum occurence. """ - statusTrack: Optional[List[StatusTrackItem]] = None diff --git a/src/py/mat3ra/esse/models/workflow/unit/execution.py b/src/py/mat3ra/esse/models/workflow/unit/execution.py index f1a6e1751..d8e3db076 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/execution.py +++ b/src/py/mat3ra/esse/models/workflow/unit/execution.py @@ -5,32 +5,71 @@ from __future__ import annotations from enum import Enum -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional from pydantic import BaseModel, ConfigDict, Field +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): execution = "execution" class ApplicationSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - shortName: Optional[str] = None + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str """ The short name of the application. e.g. qe """ - summary: Optional[str] = None + summary: str """ Application's short description. """ - version: Optional[str] = None + version: str """ Application version. e.g. 5.3.5 """ - build: Optional[str] = None + build: str """ Application build. e.g. VTST """ @@ -42,6 +81,9 @@ class ApplicationSchemaBase(BaseModel): """ Whether licensing is present """ + + +class ExecutableSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -55,7 +97,7 @@ class ApplicationSchemaBase(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -63,21 +105,23 @@ class ApplicationSchemaBase(BaseModel): """ Identifies that entity is defaultable """ - - -class NameResultSchema(BaseModel): - name: str + preProcessors: List[str] """ - The name of this item. e.g. scf_accuracy + names of the pre-processors for this calculation """ - - -class ExecutableSchema(BaseModel): - name: str + postProcessors: List[str] """ - The name of the executable. e.g. pw.x + names of the post-processors for this calculation + """ + monitors: List[str] + """ + names of the monitors for this calculation + """ + results: List[str] """ - applicationId: Optional[List[str]] = None + names of the results for this calculation + """ + applicationId: List[str] """ _ids of the application this executable belongs to """ @@ -85,6 +129,21 @@ class ExecutableSchema(BaseModel): """ Whether advanced compute options are present """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -98,42 +157,31 @@ class ExecutableSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[str] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[str] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[str] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[str] """ names of the results for this calculation """ - - -class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - templateId: Optional[str] = None - templateName: Optional[str] = None - name: Optional[str] = None - """ - name of the resulting input file, if different than template name - """ - - -class FlavorSchema(BaseModel): - executableId: Optional[str] = None + executableId: str """ _id of the executable this flavor belongs to """ @@ -145,13 +193,19 @@ class FlavorSchema(BaseModel): """ name of the application this flavor belongs to """ - input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field( - None, title="execution unit input schema" + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" ) supportedApplicationVersions: Optional[List[str]] = None """ list of application versions this flavor supports """ + + +class ExecutionUnitSchemaBase(BaseModel): + model_config = ConfigDict( + extra="allow", + ) field_id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -165,7 +219,7 @@ class FlavorSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ - name: Optional[str] = None + name: str """ entity name """ @@ -173,65 +227,35 @@ class FlavorSchema(BaseModel): """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ - - -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - -class ExecutionUnitSchemaBase(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - type: Type - """ - type of the unit - """ - application: ApplicationSchemaBase = Field(..., title="application schema (base)") - executable: Optional[ExecutableSchema] = Field(None, title="executable schema") - flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") - input: Any + tags: Optional[List[str]] = None """ - unit input (type to be specified by the application's execution unit) + entity tags """ - field_id: Optional[str] = Field(None, alias="_id") + status: Optional[Status] = None """ - entity identity + Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None + type: Type """ - Status of the unit. + type of the unit """ head: Optional[bool] = None """ @@ -250,37 +274,10 @@ class ExecutionUnitSchemaBase(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the monitors for this calculation - """ - results: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the results for this calculation - """ - tags: Optional[List[str]] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any """ - entity tags + unit input (type to be specified by the application's execution unit) """ - statusTrack: Optional[List[StatusTrackItem]] = None diff --git a/src/py/mat3ra/esse/models/workflow/unit/io/__init__.py b/src/py/mat3ra/esse/models/workflow/unit/io/__init__.py index aab276485..65531eccd 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/io/__init__.py +++ b/src/py/mat3ra/esse/models/workflow/unit/io/__init__.py @@ -10,6 +10,27 @@ from pydantic import BaseModel, ConfigDict, Field +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): io = "io" @@ -118,74 +139,14 @@ class ObjectStorageIoSchema(BaseModel): """ -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class DataIOUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Type - """ - type of the unit - """ - subtype: Subtype - source: Source - input: List[ - Union[ - DataIORestAPIInputSchema, - Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema7], - ObjectStorageIoSchema, - ] - ] field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -195,23 +156,27 @@ class DataIOUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -219,4 +184,39 @@ class DataIOUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema7], + ObjectStorageIoSchema, + ] + ] diff --git a/src/py/mat3ra/esse/models/workflow/unit/map.py b/src/py/mat3ra/esse/models/workflow/unit/map.py index 888477126..2cb2f73c5 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/map.py +++ b/src/py/mat3ra/esse/models/workflow/unit/map.py @@ -10,6 +10,27 @@ from pydantic import BaseModel, ConfigDict, Field +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class StatusTrackItem(BaseModel): + trackedAt: float + status: str + repetition: Optional[float] = None + + class Type(Enum): map = "map" @@ -34,104 +55,83 @@ class Input(BaseModel): useValues: Optional[bool] = None -class Status(Enum): - idle = "idle" - active = "active" - warning = "warning" - error = "error" - finished = "finished" - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class StatusTrackItem(BaseModel): - trackedAt: float - status: str - repetition: Optional[float] = None - - class MapUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Type + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - workflowId: str + slug: Optional[str] = None """ - Id of workflow to run inside map + entity slug """ - input: Input + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Input information for map. + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: Optional[str] = None + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable """ - status: Optional[Status] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ - Status of the unit. + names of the pre-processors for this calculation """ - head: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Whether this unit is the first one to be executed. + names of the post-processors for this calculation """ - flowchartId: str + monitors: List[RuntimeItemNameObjectSchema] """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + names of the monitors for this calculation """ - next: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] """ - Next unit's flowchartId. If empty, the current unit is the last. + names of the results for this calculation """ - enableRender: Optional[bool] = None + tags: Optional[List[str]] = None """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit + entity tags """ - context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + status: Optional[Status] = None """ - entity slug + Status of the unit. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type """ - entity's schema version. Used to distinct between different schemas. + type of the unit """ - isDefault: Optional[bool] = False + head: Optional[bool] = None """ - Identifies that entity is defaultable + Whether this unit is the first one to be executed. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + flowchartId: str """ - names of the pre-processors for this calculation + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + next: Optional[str] = None """ - names of the post-processors for this calculation + Next unit's flowchartId. If empty, the current unit is the last. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + enableRender: Optional[bool] = None """ - names of the monitors for this calculation + Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ - results: Optional[List[Union[NameResultSchema, str]]] = None + context: Optional[Dict[str, Any]] = None + workflowId: str """ - names of the results for this calculation + Id of workflow to run inside map """ - tags: Optional[List[str]] = None + input: Input """ - entity tags + Input information for map. """ - statusTrack: Optional[List[StatusTrackItem]] = None diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/__init__.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/__init__.py new file mode 100644 index 000000000..1f5385052 --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: schema +# version: 0.28.5 diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/assertion.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/assertion.py new file mode 100644 index 000000000..ab83a67b1 --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/assertion.py @@ -0,0 +1,26 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/assertion.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Type(Enum): + assertion = "assertion" + + +class AssertionUnitMixinSchema(BaseModel): + type: Optional[Type] = None + statement: str + """ + The statement to be evaluated + """ + errorMessage: Optional[str] = None + """ + The error message to be displayed if the assertion fails + """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/assignment.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/assignment.py new file mode 100644 index 000000000..228471893 --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/assignment.py @@ -0,0 +1,41 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/assignment.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional, Union + +from pydantic import BaseModel + + +class Type(Enum): + assignment = "assignment" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class AssignmentUnitMixinSchema(BaseModel): + type: Optional[Type] = None + input: Optional[List[WorkflowUnitInputSchema]] = None + """ + Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment. + """ + operand: str + """ + Name of the global variable. e.g. 'x' + """ + value: Union[str, bool, float] + """ + Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression) + """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/base.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/base.py new file mode 100644 index 000000000..d55868022 --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/base.py @@ -0,0 +1,54 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/base.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, Optional + +from pydantic import BaseModel, ConfigDict + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class WorkflowBaseUnitMixinSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + isDraft: Optional[bool] = None + type: str + """ + type of the unit + """ + name: Optional[str] = None + """ + name of the unit. e.g. pw_scf + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/condition.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/condition.py new file mode 100644 index 000000000..119e54439 --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/condition.py @@ -0,0 +1,53 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/condition.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class Type(Enum): + condition = "condition" + + +class WorkflowUnitInputSchema(BaseModel): + scope: str + """ + Scope of the variable. e.g. 'global' or 'flowchart_id_2' + """ + name: str + """ + Name of the input data. e.g. total_energy + """ + + +class ConditionUnitMixinSchema(BaseModel): + type: Optional[Type] = None + input: List[WorkflowUnitInputSchema] + """ + Input information for condition. + """ + statement: str + """ + Condition statement. e.g. 'abs(x-total_energy) < 1e-5' + """ + then: str + """ + Flowchart ID reference for `then` part of the condition. + """ + else_: str = Field(..., alias="else") + """ + Flowchart ID reference for `else` part of the condition. + """ + maxOccurrences: int + """ + Maximum occurrence of the condition, usable for loops. + """ + throwException: Optional[bool] = None + """ + Throw exception on reaching to maximum occurence. + """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/execution.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/execution.py new file mode 100644 index 000000000..ed4388675 --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/execution.py @@ -0,0 +1,192 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/execution.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, List, Optional + +from pydantic import BaseModel, ConfigDict, Field + + +class Type(Enum): + execution = "execution" + + +class ApplicationSchemaBase(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + shortName: str + """ + The short name of the application. e.g. qe + """ + summary: str + """ + Application's short description. + """ + version: str + """ + Application version. e.g. 5.3.5 + """ + build: str + """ + Application build. e.g. VTST + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + + +class ExecutableSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[str] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[str] + """ + names of the post-processors for this calculation + """ + monitors: List[str] + """ + names of the monitors for this calculation + """ + results: List[str] + """ + names of the results for this calculation + """ + applicationId: List[str] + """ + _ids of the application this executable belongs to + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + + +class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + templateId: Optional[str] = None + templateName: Optional[str] = None + name: Optional[str] = None + """ + name of the resulting input file, if different than template name + """ + + +class FlavorSchema(BaseModel): + field_id: Optional[str] = Field(None, alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" + """ + entity's schema version. Used to distinct between different schemas. + """ + name: str + """ + entity name + """ + isDefault: Optional[bool] = False + """ + Identifies that entity is defaultable + """ + preProcessors: List[str] + """ + names of the pre-processors for this calculation + """ + postProcessors: List[str] + """ + names of the post-processors for this calculation + """ + monitors: List[str] + """ + names of the monitors for this calculation + """ + results: List[str] + """ + names of the results for this calculation + """ + executableId: str + """ + _id of the executable this flavor belongs to + """ + executableName: Optional[str] = None + """ + name of the executable this flavor belongs to + """ + applicationName: Optional[str] = None + """ + name of the application this flavor belongs to + """ + input: List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines] = Field( + ..., title="execution unit input schema" + ) + supportedApplicationVersions: Optional[List[str]] = None + """ + list of application versions this flavor supports + """ + + +class ExecutionUnitMixinSchema(BaseModel): + type: Optional[Type] = None + application: ApplicationSchemaBase = Field(..., title="application schema (base)") + executable: Optional[ExecutableSchema] = Field(None, title="executable schema") + flavor: Optional[FlavorSchema] = Field(None, title="flavor schema") + input: Any + """ + unit input (type to be specified by the application's execution unit) + """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/io.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/io.py new file mode 100644 index 000000000..837fa16e6 --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/io.py @@ -0,0 +1,131 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/io.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field + + +class Type(Enum): + io = "io" + + +class Subtype(Enum): + input = "input" + output = "output" + dataFrame = "dataFrame" + + +class Source(Enum): + api = "api" + db = "db" + object_storage = "object_storage" + + +class DataIORestAPIInputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + endpoint: str + """ + rest API endpoint + """ + endpoint_options: Dict[str, Any] + """ + rest API endpoint options + """ + name: Optional[str] = None + """ + the name of the variable in local scope to save the data under + """ + + +class DataIODatabaseInputOutputSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + ids: List[str] + """ + IDs of item to retrieve from db + """ + + +class DataIODatabaseInputOutputSchema9(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + collection: str + """ + db collection name + """ + draft: bool + """ + whether the result should be saved as draft + """ + + +class ObjectStorageContainerData(BaseModel): + CONTAINER: Optional[str] = None + """ + Object storage container for the file + """ + NAME: Optional[str] = None + """ + Name of the file inside the object storage bucket + """ + PROVIDER: Optional[str] = None + """ + Object storage provider + """ + REGION: Optional[str] = None + """ + Region for the object container specified in Container + """ + SIZE: Optional[int] = None + """ + Size of the file in bytes + """ + TIMESTAMP: Optional[str] = None + """ + Unix timestamp showing when the file was last modified + """ + + +class ObjectStorageIoSchema(BaseModel): + model_config = ConfigDict( + extra="allow", + ) + objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data") + overwrite: Optional[bool] = None + """ + if a file with the same filename already exists, whether to overwrite the old file + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: Optional[str] = None + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class DataIOUnitMixinSchema(BaseModel): + type: Optional[Type] = None + subtype: Subtype + source: Source + input: List[ + Union[ + DataIORestAPIInputSchema, + Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema9], + ObjectStorageIoSchema, + ] + ] diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/map.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/map.py new file mode 100644 index 000000000..87c8c432c --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/map.py @@ -0,0 +1,46 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/map.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel + + +class Type(Enum): + map = "map" + + +class Input(BaseModel): + target: str + """ + Name of the target variable to substitute using the values below. e.g. K_POINTS + """ + scope: Optional[str] = None + """ + Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given. + """ + name: Optional[str] = None + """ + Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given. + """ + values: Optional[List[Union[str, float, Dict[str, Any]]]] = None + """ + Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution + """ + useValues: Optional[bool] = None + + +class MapUnitMixinSchema(BaseModel): + type: Optional[Type] = None + workflowId: str + """ + Id of workflow to run inside map + """ + input: Input + """ + Input information for map. + """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/processing.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/processing.py new file mode 100644 index 000000000..29c9a89fe --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/processing.py @@ -0,0 +1,30 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/processing.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Optional + +from pydantic import BaseModel + + +class Type(Enum): + processing = "processing" + + +class ProcessingUnitMixinSchema(BaseModel): + type: Optional[Type] = None + operation: str + """ + Contains information about the operation used. + """ + operationType: str + """ + Contains information about the specific type of the operation used. + """ + inputData: Any + """ + unit input (type to be specified by the child units) + """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/reduce.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/reduce.py new file mode 100644 index 000000000..f12e1fc4d --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/reduce.py @@ -0,0 +1,37 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/reduce.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel + + +class Type(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + +class ReduceUnitMixinSchema(BaseModel): + type: Optional[Type] = None + mapFlowchartId: str + """ + corresponding map unit flowchart ID + """ + input: List[InputItem] + """ + input information for reduce unit + """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/mixins/subworkflow.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/subworkflow.py new file mode 100644 index 000000000..e654da671 --- /dev/null +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/subworkflow.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: workflow/unit/mixins/subworkflow.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Type(Enum): + subworkflow = "subworkflow" + + +class SubworkflowUnitMixinSchema(BaseModel): + type: Optional[Type] = None diff --git a/src/py/mat3ra/esse/models/workflow/unit/processing.py b/src/py/mat3ra/esse/models/workflow/unit/processing.py index 32fbe15ed..a7261eee3 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/processing.py +++ b/src/py/mat3ra/esse/models/workflow/unit/processing.py @@ -5,13 +5,16 @@ from __future__ import annotations from enum import Enum -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional from pydantic import BaseModel, ConfigDict, Field -class Type(Enum): - processing = "processing" +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ class Status(Enum): @@ -22,52 +25,71 @@ class Status(Enum): finished = "finished" -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - class StatusTrackItem(BaseModel): trackedAt: float status: str repetition: Optional[float] = None +class Type(Enum): + processing = "processing" + + class ProcessingUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Type + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - operation: str + slug: Optional[str] = None """ - Contains information about the operation used. + entity slug """ - operationType: str + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - Contains information about the specific type of the operation used. + entity's schema version. Used to distinct between different schemas. """ - inputData: Any + name: str """ - unit input (type to be specified by the child units) + entity name """ - field_id: Optional[str] = Field(None, alias="_id") + isDefault: Optional[bool] = False """ - entity identity + Identifies that entity is defaultable """ - isDraft: Optional[bool] = None - name: Optional[str] = None + preProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the pre-processors for this calculation """ - name of the unit. e.g. pw_scf + postProcessors: List[RuntimeItemNameObjectSchema] + """ + names of the post-processors for this calculation + """ + monitors: List[RuntimeItemNameObjectSchema] + """ + names of the monitors for this calculation + """ + results: List[RuntimeItemNameObjectSchema] + """ + names of the results for this calculation + """ + tags: Optional[List[str]] = None + """ + entity tags """ status: Optional[Status] = None """ Status of the unit. """ + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ head: Optional[bool] = None """ Whether this unit is the first one to be executed. @@ -85,37 +107,15 @@ class ProcessingUnitSchema(BaseModel): Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None - """ - entity slug - """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" - """ - entity's schema version. Used to distinct between different schemas. - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + operation: str """ - names of the monitors for this calculation + Contains information about the operation used. """ - results: Optional[List[Union[NameResultSchema, str]]] = None + operationType: str """ - names of the results for this calculation + Contains information about the specific type of the operation used. """ - tags: Optional[List[str]] = None + inputData: Any """ - entity tags + unit input (type to be specified by the child units) """ - statusTrack: Optional[List[StatusTrackItem]] = None diff --git a/src/py/mat3ra/esse/models/workflow/unit/reduce.py b/src/py/mat3ra/esse/models/workflow/unit/reduce.py index 5f57f0ad6..38ca53eff 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/reduce.py +++ b/src/py/mat3ra/esse/models/workflow/unit/reduce.py @@ -5,23 +5,15 @@ from __future__ import annotations from enum import Enum -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional from pydantic import BaseModel, ConfigDict, Field -class Type(Enum): - reduce = "reduce" - - -class InputItem(BaseModel): - operation: str - """ - reduce operation, e.g. aggregate - """ - arguments: List[str] +class RuntimeItemNameObjectSchema(BaseModel): + name: str """ - arguments which are passed to reduce operation function + The name of this item. e.g. scf_accuracy """ @@ -33,96 +25,104 @@ class Status(Enum): finished = "finished" -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - class StatusTrackItem(BaseModel): trackedAt: float status: str repetition: Optional[float] = None +class Type(Enum): + reduce = "reduce" + + +class InputItem(BaseModel): + operation: str + """ + reduce operation, e.g. aggregate + """ + arguments: List[str] + """ + arguments which are passed to reduce operation function + """ + + class ReduceUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Type + field_id: Optional[str] = Field(None, alias="_id") """ - type of the unit + entity identity """ - mapFlowchartId: str + slug: Optional[str] = None """ - corresponding map unit flowchart ID + entity slug """ - input: List[InputItem] + systemName: Optional[str] = None + schemaVersion: Optional[str] = "2022.8.16" """ - input information for reduce unit + entity's schema version. Used to distinct between different schemas. """ - field_id: Optional[str] = Field(None, alias="_id") + name: str """ - entity identity + entity name """ - isDraft: Optional[bool] = None - name: Optional[str] = None + isDefault: Optional[bool] = False """ - name of the unit. e.g. pw_scf + Identifies that entity is defaultable """ - status: Optional[Status] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ - Status of the unit. + names of the pre-processors for this calculation """ - head: Optional[bool] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ - Whether this unit is the first one to be executed. + names of the post-processors for this calculation """ - flowchartId: str + monitors: List[RuntimeItemNameObjectSchema] """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + names of the monitors for this calculation """ - next: Optional[str] = None + results: List[RuntimeItemNameObjectSchema] """ - Next unit's flowchartId. If empty, the current unit is the last. + names of the results for this calculation """ - enableRender: Optional[bool] = None + tags: Optional[List[str]] = None """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit + entity tags """ - context: Optional[Dict[str, Any]] = None - slug: Optional[str] = None + status: Optional[Status] = None """ - entity slug + Status of the unit. """ - systemName: Optional[str] = None - schemaVersion: Optional[str] = "2022.8.16" + statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type """ - entity's schema version. Used to distinct between different schemas. + type of the unit """ - isDefault: Optional[bool] = False + head: Optional[bool] = None """ - Identifies that entity is defaultable + Whether this unit is the first one to be executed. """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + flowchartId: str """ - names of the pre-processors for this calculation + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + next: Optional[str] = None """ - names of the post-processors for this calculation + Next unit's flowchartId. If empty, the current unit is the last. """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + enableRender: Optional[bool] = None """ - names of the monitors for this calculation + Whether Rupy should attempt to use Jinja templating to add context variables into the unit """ - results: Optional[List[Union[NameResultSchema, str]]] = None + context: Optional[Dict[str, Any]] = None + mapFlowchartId: str """ - names of the results for this calculation + corresponding map unit flowchart ID """ - tags: Optional[List[str]] = None + input: List[InputItem] """ - entity tags + input information for reduce unit """ - statusTrack: Optional[List[StatusTrackItem]] = None diff --git a/src/py/mat3ra/esse/models/workflow/unit/runtime/_runtime_item_full_object.py b/src/py/mat3ra/esse/models/workflow/unit/runtime/_runtime_item_full_object.py deleted file mode 100644 index 829154953..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/runtime/_runtime_item_full_object.py +++ /dev/null @@ -1,14 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/runtime/_runtime_item_full_object.json -# version: 0.28.5 - -from __future__ import annotations - -from pydantic import BaseModel - - -class FullResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. 'my_custom_property. ' - """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/runtime/_runtime_item_string.py b/src/py/mat3ra/esse/models/workflow/unit/runtime/_runtime_item_string.py deleted file mode 100644 index 2d00f48ba..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/runtime/_runtime_item_string.py +++ /dev/null @@ -1,14 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/runtime/_runtime_item_string.json -# version: 0.28.5 - -from __future__ import annotations - -from pydantic import Field, RootModel - - -class RuntimeItemString(RootModel[str]): - root: str = Field(..., title="RuntimeItemString") - """ - name of runtime item in shortened notation - """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/runtime/runtime_item.py b/src/py/mat3ra/esse/models/workflow/unit/runtime/runtime_item.py deleted file mode 100644 index 6bee30584..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/runtime/runtime_item.py +++ /dev/null @@ -1,20 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/runtime/runtime_item.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Union - -from pydantic import BaseModel, Field, RootModel - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class ESSE(RootModel[Union[NameResultSchema, str]]): - root: Union[NameResultSchema, str] = Field(..., title="runtime item schema") diff --git a/src/py/mat3ra/esse/models/workflow/unit/runtime/runtime_items.py b/src/py/mat3ra/esse/models/workflow/unit/runtime/runtime_items.py deleted file mode 100644 index caf518e49..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/runtime/runtime_items.py +++ /dev/null @@ -1,35 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/runtime/runtime_items.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import List, Optional, Union - -from pydantic import BaseModel - - -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - -class RuntimeItemsSchemaPrePostProcessorsMonitorsResults(BaseModel): - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the pre-processors for this calculation - """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the post-processors for this calculation - """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the monitors for this calculation - """ - results: Optional[List[Union[NameResultSchema, str]]] = None - """ - names of the results for this calculation - """ diff --git a/src/py/mat3ra/esse/models/workflow/unit/subworkflow.py b/src/py/mat3ra/esse/models/workflow/unit/subworkflow.py index 9b554d6aa..2519eae1e 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/subworkflow.py +++ b/src/py/mat3ra/esse/models/workflow/unit/subworkflow.py @@ -5,13 +5,16 @@ from __future__ import annotations from enum import Enum -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional from pydantic import BaseModel, ConfigDict, Field -class Type(Enum): - subworkflow = "subworkflow" +class RuntimeItemNameObjectSchema(BaseModel): + name: str + """ + The name of this item. e.g. scf_accuracy + """ class Status(Enum): @@ -22,57 +25,24 @@ class Status(Enum): finished = "finished" -class NameResultSchema(BaseModel): - name: str - """ - The name of this item. e.g. scf_accuracy - """ - - class StatusTrackItem(BaseModel): trackedAt: float status: str repetition: Optional[float] = None +class Type(Enum): + subworkflow = "subworkflow" + + class SubworkflowUnitSchema(BaseModel): model_config = ConfigDict( extra="allow", ) - type: Type - """ - type of the unit - """ field_id: Optional[str] = Field(None, alias="_id") """ entity identity """ - isDraft: Optional[bool] = None - name: Optional[str] = None - """ - name of the unit. e.g. pw_scf - """ - status: Optional[Status] = None - """ - Status of the unit. - """ - head: Optional[bool] = None - """ - Whether this unit is the first one to be executed. - """ - flowchartId: str - """ - Identity of the unit in the workflow. Used to trace the execution flow of the workflow. - """ - next: Optional[str] = None - """ - Next unit's flowchartId. If empty, the current unit is the last. - """ - enableRender: Optional[bool] = None - """ - Whether Rupy should attempt to use Jinja templating to add context variables into the unit - """ - context: Optional[Dict[str, Any]] = None slug: Optional[str] = None """ entity slug @@ -82,23 +52,27 @@ class SubworkflowUnitSchema(BaseModel): """ entity's schema version. Used to distinct between different schemas. """ + name: str + """ + entity name + """ isDefault: Optional[bool] = False """ Identifies that entity is defaultable """ - preProcessors: Optional[List[Union[NameResultSchema, str]]] = None + preProcessors: List[RuntimeItemNameObjectSchema] """ names of the pre-processors for this calculation """ - postProcessors: Optional[List[Union[NameResultSchema, str]]] = None + postProcessors: List[RuntimeItemNameObjectSchema] """ names of the post-processors for this calculation """ - monitors: Optional[List[Union[NameResultSchema, str]]] = None + monitors: List[RuntimeItemNameObjectSchema] """ names of the monitors for this calculation """ - results: Optional[List[Union[NameResultSchema, str]]] = None + results: List[RuntimeItemNameObjectSchema] """ names of the results for this calculation """ @@ -106,4 +80,30 @@ class SubworkflowUnitSchema(BaseModel): """ entity tags """ + status: Optional[Status] = None + """ + Status of the unit. + """ statusTrack: Optional[List[StatusTrackItem]] = None + isDraft: Optional[bool] = None + type: Type + """ + type of the unit + """ + head: Optional[bool] = None + """ + Whether this unit is the first one to be executed. + """ + flowchartId: str + """ + Identity of the unit in the workflow. Used to trace the execution flow of the workflow. + """ + next: Optional[str] = None + """ + Next unit's flowchartId. If empty, the current unit is the last. + """ + enableRender: Optional[bool] = None + """ + Whether Rupy should attempt to use Jinja templating to add context variables into the unit + """ + context: Optional[Dict[str, Any]] = None